我正在尝试模仿“汇合负载”(不建议用于生产用途)以添加连接器,该连接器会自动创建允许创建ksql流和表的主题,主题等。我正在使用curl与其余界面进行交互。
"topicName-value"
等创建关联的主题吗?$ curl -X GET http://localhost:8082/topics | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 199 100 199 0 0 14930 0 --:--:-- --:--:-- --:--:-- 15307
[
"Topic_OracleSource2"
]
curl -X GET http://localhost:8081/subjects | jq
[]
什么都没显示。但是,执行卷曲操作:
curl -X POST -H "Content-Type: application/vnd.kafka.avro.v2+json" -H "Accept: application/vnd.kafka.v2+json" --data '{"value_schema": "{\"type\": \"record\", \"name\": \"User\", \"fields\": [{\"name\": \"name\", \"type\": \"string\"}]}", "records": [{"value": {"name": "testUser"}}]}' "http://localhost:8082/topics/avrotest"
创建主题:
curl -X GET http://localhost:8081/subjects | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 18 100 18 0 0 2020 0 --:--:-- --:--:-- --:--:-- 2250
[
"avrotest-value"
]
据我所知,不建议这样做,因为主题是即时创建的,而不是在受控环境中预先创建的。
'topicName-value/key'
对来为KSQL内部的主题创建流。没有主题,我只能看到创建的基于avro的连接器附带的数据,但是无法进一步使用ksql流和表执行转换。
答案 0 :(得分:1)
kafka-topics
仅与Zookeeper和Kafka互动。它不存在模式注册表的概念。
创建Avro模式/主题的过程是通过生产者进行的Avro序列化程序配置。如果使用AvroConverter配置了Kafka Connect源,则它将在获取数据时自行注册架构,因此,假设您对生成的架构感到满意,则无需卷曲,就可以
据我所知,无法阻止KSQL在注册表中自动注册模式。
似乎需要主题“ topicName-value / key”对来为KSQL内部的主题创建流。
如果要使用Avro,可以。但是,并非“需要” KSQL支持的其他数据格式
此外,我最后一次检查,KSQL无法处理Avro密钥
无法进一步使用ksql流和表执行转换。
您需要更清楚地说明原因。您收到错误了吗?
答案 1 :(得分:0)
使用
kafka-topics
创建主题时,还会创建“ topicName-value”等相关主题吗?
否,不会自动创建主题。 (kafka-topics
今天甚至不允许您传递Avro模式。)
可能值得进行功能请求吗?