【发布时间】:2019-02-14 00:40:25
【问题描述】:
我目前正在研究 Kafka Connect,以将我们的一些数据库流式传输到数据湖。为了测试 Kafka Connect,我设置了一个包含我们项目数据库之一的数据库。到目前为止一切都很好。
下一步我使用以下属性配置了 Kafka Connect:
{
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"timestamp.column.name": "updated_at,created_at",
"incrementing.column.name": "id",
"dialect.name": "SqlServerDatabaseDialect",
"validate.non.null": "false",
"tasks.max": "1",
"mode": "timestamp+incrementing",
"topic.prefix": "mssql-jdbc-",
"poll.interval.ms": "10000",
}
虽然这适用于我获得 ID 和 created_at / updated_at 字段的大多数表,但它不适用于我解决了多对多关系的表和一个复合表钥匙。请注意,我将通用 JDBC 配置与 Microsoft 的 JDBC 驱动程序一起使用。
有没有办法针对这些特殊情况配置 Kafka Connect?
【问题讨论】:
-
您是否尝试过使用
query配置选项来编写连接,例如?否则,文档中的 Kafka 模式将使用 Kafka Streams 将您的“查找表”主题与“数据表”主题结合起来 -
@cricket_007 我不太明白。我的印象是,当您想要跟踪特定查询时,可以使用查询参数。就我而言,我想跟踪完整的数据库。可能是我错了。 :-)
-
递增时间戳选项也是“特定查询”,不,我不确定我是否理解您的担忧
标签: sql-server apache-kafka apache-kafka-connect mssql-jdbc