apache-kafka - 如何根据连接器名称获取Kafka源连接器架构

标签 apache-kafka apache-kafka-connect confluent-platform confluent-schema-registry ksqldb

我正在使用 Confluence JDBC Kafka 连接器将消息发布到主题中。源连接器将数据以及每次轮询的架构发送到主题。我想检索这个架构。

这可能吗?如何?谁能给我推荐一下

我的目的是根据 Kafka 连接器在 poll 上构建的模式创建 KSQL 流或表。

最佳答案

最好的方法是使用 Avro,其中模式单独存储,并由 Kafka Connect 和 KSQL 自动使用。

您可以通过配置 Kafka Connect 使用 AvroConverter 来使用 Avro。在您的 Kafka Connect 工作线程配置集中:

key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=http://schema-registry:8081

(schema-registry 更新为运行架构注册表的主机名)

从那里开始,在 KSQL 中您只需使用

CREATE STREAM my_stream WITH (KAFKA_TOPIC='source_topic', VALUE_FORMAT='AVRO');

您不需要在此处指定架构本身,因为 KSQL 会从架构注册表中获取它。

您可以阅读有关转换器和序列化器的更多信息 here

免责声明:我在 Confluence 工作,并撰写了引用的博客文章。

关于apache-kafka - 如何根据连接器名称获取Kafka源连接器架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53425385/

相关文章:

java - CommitFailedException 无法完成提交,因为该组已经重新平衡并将分区分配给另一个成员

hadoop - 使用 Flume 将数据从 kafka 摄取到 HDFS::ConfigurationException:必须指定 Bootstrap 服务器

apache-kafka - Kafka Consumer Group Id 和消费者再平衡问题

apache-kafka - Kafka 连接,Bootstrap 代理断开连接

apache-kafka - 我们是否可以选择从特定时间段/时间戳获取 KSQL 流中的数据

apache-kafka - 不一致的连接器状态 : ConnectException: Task already exists in this worker

node.js - 有没有办法从node-rdkafka中的生产者队列缓冲区获取消息?

java - 定义 SpoutConfig 参数

distributed - 如何在分布式模式下部署kafka connect?

mysql - 设置Kafka连接器管道时出错