[英]Kafka/questDB JDBC Sink Connector: tables not created using "topics.regex"
我使用“confluentinc/kafka-connect-jdbc:10.2.6”作为我的 JDBC 连接器将 Kafka 主题传输到我的 questDB 中。
当我提供明确的主题名称时,它按预期工作。 但是,当我使用基于正则表达式的主题名称时,它不起作用,我的 questDB 数据库中没有创建表。
我的 JDBC 设置中缺少什么?
谢谢!
显式版本(工作):
{
"name": "jdbc_sink_ftx",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"topics": "trades-FTX-ETH-USD-PERP, trades-FTX-FTM-USD-PERP",
"table.name.format": "${topic}",
"connection.url": "jdbc:postgresql://questdb:8812/qdb?useSSL=false",
"connection.user": "admin",
"connection.password": "quest",
"auto.create": "true",
"insert.mode": "insert",
"dialect.name": "PostgreSqlDatabaseDialect"
}
}
正则表达式版本(不工作):
{
"name": "jdbc_sink_ftx_regex",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"topics.regex": "FTX",
"table.name.format": "${topic}",
"connection.url": "jdbc:postgresql://questdb:8812/qdb?useSSL=false",
"connection.user": "admin",
"connection.password": "quest",
"auto.create": "true",
"insert.mode": "insert",
"dialect.name": "PostgreSqlDatabaseDialect"
}
}
最好检查 QuestDB 日志。 在这种情况下,搜索' E '
应显示通常包括描述和操作系统错误代码的错误。 Kafka 连接器中的主题名称用作表名称。 QuestDB 使用表名作为磁盘上的目录并出于安全目的对其进行验证。 '.'、'/' 和 '' 不允许在表名中使用字符。 特定的操作系统也可以对文件名应用额外的限制。
不过最好检查 QuestDB 日志。
正则表达式需要与完整的主题名称匹配,如下所示:
"topics.regex": "trades-FTX-.*"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.