Skip to content

Conversation

@igorvoltaic
Copy link

The property which allows mapping Kafka topics to Iceberg tables:

An example config would look like:
iceberg.tables.topic-to-table-mapping=some_topic0:table_name0,some_topic1:table_name1

Similar approach implemented in SnowflakeSink, ClickhouseSink, Aiven JdbcSink. Probably I can call it a standard way of static routing data in sink connectors at the moment.
The reason I stated thinking of implementing this because it isn't obvious from the config (or readme) how one should map the topics to tables in the original version because there is no clear indication of where the .route-regex is applied.

This could be done for .partition-by and .id-columns configs as well, but using tables as map keys is such case.

I am making the same PR as the one in the databricks/iceberg-kafka-connect#223 because I was told that it is being moved to this core repository.
It seems that the code hasn't been fully migrated to this core repository yet and I am aware of there should be further tasks such as adding the rest of functionality from the above PR into IcebergSinkTask (as I see it), but would like to share the idea and get initial feedback. Thanks!

@bryanck
Copy link
Contributor

bryanck commented Oct 16, 2024

I believe when we add #11313 you should be able to accomplish mapping topics to tables. Also I think this PR isn't complete, the new config isn't being used.

@igorvoltaic igorvoltaic force-pushed the feat-table-to-topic-mapping branch from 1050f05 to 859f20e Compare October 17, 2024 20:44
@github-actions github-actions bot added the docs label Oct 17, 2024
@igorvoltaic
Copy link
Author

I believe when we add #11313 you should be able to accomplish mapping topics to tables. Also I think this PR isn't complete, the new config isn't being used.

I believe they aren't related, since that PR covers dynamic routing

@github-actions
Copy link

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions bot added the stale label Nov 26, 2024
@igorvoltaic
Copy link
Author

@bryanck ping! 😄

@github-actions
Copy link

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions bot added the stale label Dec 28, 2024
@igorvoltaic
Copy link
Author

Ping

@github-actions github-actions bot removed the stale label Dec 29, 2024
@yornstei
Copy link

yornstei commented Jan 7, 2025

This solution seems best to me; most explicit and least restrictive. I'll be using this in my fork. thanks @igorvoltaic.
I also agree this isn't related to #11313 which is for dynamic routing.

@bryanck
Copy link
Contributor

bryanck commented Jan 7, 2025

Thanks @yornstei, good to know you found this useful. I was wondering if you had an opinion on #11623?

@yornstei
Copy link

yornstei commented Jan 7, 2025

Thanks @yornstei, good to know you found this useful. I was wondering if you had an opinion on #11623?

I took a look at that one too. From a configurable perspective, it seems better and the pattern aligns more with the connector's other configs of specifying the route-regex on each table. From a code perspective, there's quite a bit more going on there which I'm hesitant to merge/maintain in my fork.

@bryanck
Copy link
Contributor

bryanck commented Jan 7, 2025

Thanks, I'll take a deeper look next week.

@github-actions
Copy link

github-actions bot commented Feb 7, 2025

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions bot added the stale label Feb 7, 2025
@igorvoltaic
Copy link
Author

Ping

@github-actions github-actions bot removed the stale label Feb 10, 2025
@github-actions
Copy link

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions bot added the stale label Mar 12, 2025
@github-actions
Copy link

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions bot closed this Mar 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants