当前位置: 首页 > 知识库问答 >
问题:

Kafka Connect不输出JSON

孔扬
2023-03-14

我正在使用JDBC Kafka连接器将数据从数据库读取到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个答案

袁宜
2023-03-14

您的配置中存在两个问题:

  1. 如果您使用的是JSONConverter,则不需要配置架构注册表 - 这仅适用于AvroConverter。因此,您可以删除key.converter.schema.registry.url和value.converter.schema.registry.url
  2. 其次,你有key.converter.schemas.enable=true和value.converter.schemas.enable=true,所以你不应该对JSON包含一个模式感到惊讶。您指定我们应该包括它。如果您不想要架构,只需将其设置为 false
 类似资料:
  • 我参考了以下链接来了解Kafka的HDFS连接https://docs.confluent.io/2.0.0/Connect/connect-hdfs/docs/index.html 我能够通过配置单元集成将数据从Kafka导出到HDFS。 现在我正尝试在Java程序的帮助下将avro记录写入Kafka 当我把Avro记录写到Kafka主题时,我在Connect中出现以下错误

  • 有时当gdb输出信息较多时,gdb会暂停输出,并会打印“---Type <return> to continue, or q <return> to quit---”这样的提示信息,如下面所示: 81 process 2639102 0xff04af84 in __lwp_park () from /usr/lib/libc.so.1 80 process 2573566

  • 问题内容: 我正在开发一个与tomcat 7(7.0.27)兼容的应用程序(为tomcat 5.5开发)。我在使用jstl时遇到问题,当我指定时,只是不输出标签: 在我的WEB-INF / web.xml文件中(以前使用的是2.4版本)。 .jsp文件示例: … 而不是预期的输出,我收到: 作为文本字段中的值。 我使用JSTL 1.2.1,Tomcat 7.0.27,JSP 2.2。代码会编译,当

  • 编辑问题以包括所需的行为、特定问题或错误,以及再现问题所需的最短代码。这将帮助其他人回答这个问题。 我在Java中尝试了斐波那契问题,并坚持使用这种不匹配的输出。我试过的代码是1,得到的输出是2。如果有人能找出这个bug,那将非常有用。提前谢谢。

  • 我试图使用jsch连接到远程交换机,运行一些命令并提取输出。 我能够使用连接到开关,但是命令输出在输入流中不可用。也许我做得不对。这是密码 当我调试inputStream时。isAvailable()始终返回零,表示该命令没有输出。 蒂亚!

  • 文件 std::fs::File 本身实现了 Read 和 Write trait,所以文件的输入输出非常简单,只要得到一个 File 类型实例就可以调用读写接口进行文件输入与输出操作了。而要得到 File 就得让操作系统打开(open)或新建(create)一个文件。还是拿例子来说明 use std::io; use std::io::prelude::*; use std::fs::File;