使用 Kafka Avro Console Consumer 时如何为特定的 Schema 注册表传递参数?
Posted
技术标签:
【中文标题】使用 Kafka Avro Console Consumer 时如何为特定的 Schema 注册表传递参数?【英文标题】:How to pass parameters for a specific Schema registry when using Kafka Avro Console Consumer? 【发布时间】:2018-09-30 08:25:18 【问题描述】:我正在尝试使用 Confluent kafka-avro-console-consumer
,但是如何将 Schema Registry 的参数传递给它?
【问题讨论】:
什么参数? 对于架构注册表设置.. 【参考方案1】:只是猜测你在寻找什么......
kafka-avro-console-consumer --topic topicX --bootstrap-server kafka:9092 \
--property schema.registry.url="http://schema-registry:8081"
不,您不能指定架构版本。 ID 直接从主题中的 Avro 数据中使用。主题名称映射到主题名称。
使用--property print.key=true
查看 Kafka 消息密钥。这是常规控制台消费者的一般属性。
这些是 avro-console-consumer 脚本中唯一的额外选项,这意味着除了 kafka-consumer-consumer
中已经定义的内容之外,您只能提供 --formatter
或 --property schema.registry.url
,并且不能提供其他架构注册表特定参数(无论那些可能是)
for OPTION in "$@"
do
case $OPTION in
--formatter)
DEFAULT_AVRO_FORMATTER=""
;;
--*)
;;
*)
PROPERTY=$OPTION
case $PROPERTY in
schema.registry.url*)
DEFAULT_SCHEMA_REGISTRY_URL=""
;;
esac
;;
esac
done
【讨论】:
以上是关于使用 Kafka Avro Console Consumer 时如何为特定的 Schema 注册表传递参数?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Kafka Avro Console Consumer 时如何为特定的 Schema 注册表传递参数?
使用 kafka lib 反序列化 PRIMITIVE AVRO KEY
Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十三)定义一个avro schema使用comsumer发送avro字符流,producer接受avro字符流并解析(示例代码