【发布时间】:2020-07-27 00:08:20
【问题描述】:
我像这样向 kafka 主题发送数据和值模式:
./bin/kafka-avro-console-producer \
--broker-list 10.0.0.0:9092 --topic orders \
--property parse.key="true" \
--property key.schema='{"type":"record","name":"key_schema","fields":[{"name":"id","type":"int"}]}' \
--property key.separator="$" \
--property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"id","type":["null","int"],"default": null},{"name":"product","type": ["null","string"],"default": null}, {"name":"quantity", "type": ["null","int"],"default": null}, {"name":"price","type": ["null","int"],"default": null}]}' \
--property schema.registry.url=http://10.0.0.0:8081
然后我从 kafka 获取此接收器属性的数据:
{
"name": "jdbc-oracle",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"tasks.max": "1",
"topics": "orders",
"connection.url": "jdbc:oracle:thin:@10.1.2.3:1071/orac",
"connection.user": "[redact]",
"connection.password": "[redact]",
"auto.create": "true",
"delete.enabled": "true",
"pk.mode": "record_key",
"pk.fields": "id",
"insert.mode": "upsert",
"name": "jdbc-oracle"
},
"tasks": [
{
"connector": "jdbc-oracle",
"task": 0
}
],
"type": "sink"
}
但我想从没有 value.schema 的 kafka 获取 json。如果我将 kafka 主题放在这个 json 数据中
{"id":9}${"id": {"int":9}, "product": {"string":"Yağız Gülbahar"}, "quantity": {"int":1071}, "price": {"int":61}}
如何从 kafka 获取这些数据并将 oracle 与 confluent jdbc sink 一起使用。
我想在 Kafka Connect 端制作架构?
另一件事是我可以从一个 kafka 主题中获取两种不同类型的数据,并且它可以通过 jdbc sink 在 oracle 端进入两个不同的表。
【问题讨论】:
-
您的意思是,如何在不提供有效负载架构的情况下生成 Avro 消息?
-
plugin.path不属于连接器配置
标签: apache-kafka apache-kafka-connect confluent-schema-registry