Apache kafka JDBC接收器连接器-使用kafka connect从多个主题向上插入多个表-后续
这与下面线程中提到的主题有关 我知道它有点老了。但我的问题也围绕着同一个主题。区别在于我想从主题名中删除后缀,并将剩余的字符串作为表名传递到接收器连接器中。我怎样才能做到这一点 如果它使用SMT,请您帮助实现这一点 主题名称:Source1 Emp,Source1公司 表名:Emp,公司 数据加载需要使用单个接收器连接器从多个主题加载到多个表 你能帮我实现吗Apache kafka JDBC接收器连接器-使用kafka connect从多个主题向上插入多个表-后续,apache-kafka,apache-kafka-connect,confluent-platform,Apache Kafka,Apache Kafka Connect,Confluent Platform,这与下面线程中提到的主题有关 我知道它有点老了。但我的问题也围绕着同一个主题。区别在于我想从主题名中删除后缀,并将剩余的字符串作为表名传递到接收器连接器中。我怎样才能做到这一点 如果它使用SMT,请您帮助实现这一点 主题名称:Source1 Emp,Source1公司 表名:Emp,公司 数据加载需要使用单个接收器连接器从多个主题加载到多个表 你能帮我实现吗 MUS您的假设是正确的,即这可以通过单消息转换(SMT)完成。下面是一个例子: curl -X PUT http://localhost
MUS您的假设是正确的,即这可以通过单消息转换(SMT)完成。下面是一个例子:
curl -X PUT http://localhost:8083/connectors/sink-postgres-00/config \
-H "Content-Type: application/json" \
-d '{
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"connection.url": "jdbc:postgresql://postgres:5432/",
"connection.user": "postgres",
"connection.password": "postgres",
"tasks.max": "1",
"topics": "Source1-Emp,Source1-Company",
"auto.create": "true",
"auto.evolve":"true",
"transforms":"dropPrefix",
"transforms.dropPrefix.type":"org.apache.kafka.connect.transforms.RegexRouter",
"transforms.dropPrefix.regex":"Source1-(.*)$",
"transforms.dropPrefix.replacement":"$1"
}'
欢迎来到StackOverflow!您能否编辑您的问题,以包括源主题名称和要加载到的表名的示例?Robin-我已编辑了上述问题并更新了主题名称和表名感谢Robin的回答。所以这个配置不需要这个key-table.name.format?它会自动从“topics”键获取吗?根据此配置选项的默认值为
${topic}
,因此不需要。谢谢您的帮助!没问题。顺便说一句,StackOverflow礼节是,如果您认为答案是:-)还有一个问题与@Robin有关,我如何确保对Kafka消息中指定的密钥执行upsert操作,而不是明确定义此处的字段。基本上,我正在寻找这些键的选项。“pk.mode”:和“pk.fields”:我不想指定字段,因为这是针对多个表和主题的。