Kafka Connect不输出JSON

时间:2016-09-08 16:46:11

标签: apache-kafka apache-kafka-connect

我正在使用JDBC Kafka Connector将数据库中的数据读入Kafka。这是有效的,但它始终以Avro格式输出数据,即使我已经指定它应该使用JSON。我知道这样做是因为当我在python中使用来自该主题的消息时,我在每条消息的顶部看到了架构。

我像这样运行连接器:

/usr/bin/connect-standalone /etc/schema-registry/connect-json-standalone.properties /etc/kafka-connect-jdbc/view.properties

connect-json-standalone.properties文件的内容是:

bootstrap.servers=localhost:9092

key.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schema.registry.url=http://localhost:8081
key.converter.schemas.enable=true
value.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schema.registry.url=http://localhost:8081
value.converter.schemas.enable=true

internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false

# Local storage file for offset data
offset.storage.file.filename=/tmp/connect.offsets

并且/etc/kafka-connect-jdbc/view.properties的内容是:

name=view-small-jdbc-daily
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
connection.url=jdbc:teradata://domain.com/charset=UTF8,DBS_PORT=1025,DATABASE=test,USER=***,PASSWORD=***,LOB_SUPPORT=OFF
mode=bulk
table.whitelist=test_table
topic.prefix=view5-

1 个答案:

答案 0 :(得分:3)

配置中存在两个问题:

  1. 如果您使用的是JSONConverter,则不需要配置架构注册表 - 这仅适用于AvroConverter。因此,您可以删除key.converter.schema.registry.urlvalue.converter.schema.registry.url
  2. 其次,您有key.converter.schemas.enable=truevalue.converter.schemas.enable=true,因此您不应对JSON包含架构感到惊讶。您指定我们应该包含它。如果您不想要架构,只需将其设置为false
  3. 即可