xiasongh commented on code in PR #11313: URL: https://github.com/apache/iceberg/pull/11313#discussion_r1798594599
########## kafka-connect/kafka-connect/src/main/java/org/apache/iceberg/connect/data/SinkWriter.java: ########## @@ -133,6 +145,20 @@ private String extractRouteValue(Object recordValue, String routeField) { return routeValue == null ? null : routeValue.toString(); } + private String formatRoutePattern(SinkRecord record, String routePattern) { + if (routePattern == null) { + return null; + } + + String topicName = record.topic(); + if (topicName == null) { + return null; + } + + // replace topic namespace separator + return routePattern.replace("{topic}", topicName.replace(".", "_")); Review Comment: > topicName.replace(".", "_") I use AWS Glue catalog, which doesn't support nested namespaces. Topic names with more than 1 `.` would be invalid table names, so one thing we can do is replace all the `.` characters The Debezium JDBC sink connector [0] also does this, so it's not totally unheard of It probably makes most sense to turn this into it's own config, maybe something like `iceberg.tables.route-pattern.namespace-separator`? [0] https://debezium.io/documentation/reference/stable/connectors/jdbc.html#jdbc-property-table-naming-strategy -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org