消费实时数据功能,涉及较多的技术细节,适用于对相关功能有经验的用户参考。如果对文档内容有疑惑,请及时联系工作人员。
启动消费的机器需与部署方舟的机器在同一个内网,且必须可以解析方舟服务器的 host。
请选用兼容的 Kafka 客户端版本,高版本服务端兼容低版本客户端,反之则可能存在兼容性问题。方舟 Kafka 服务端版本为0.8.7,具体情况可在服务器上查看。
参数名称 | 参数值 |
topic | event{appid}/profile{appid}(其中{appid}表示项目的appid) |
partition | partitionid(从0开始,至少3个partition) |
zookeeper | ark1:2181,ark2:2181,ark3:2181 |
broker | ark1:9092,ark2:9092, ark3:9092 |
消费有shell、原生API等多种方式,可以选择一种适合使用场景的方式。
下面给出两种 Shell 方式启动消费的示例,使用 Shell 方式可以通过重定向标准输出将数据写入文件后处理或直接用管道作为其他进程的输入,可以对接各种编程语言实现的处理程序。
可以使用 Kafka 自带的 Kafka Console Consumer 通过命令行方式消费,例如从最新数据开始消费:
bin/kafka-console-consumer.sh --zookeeper ark1:2181 --topic event_topic
可以将 stdout 输出到文件或作为其他数据处理进程的输入数据。
使用 Simple Consumer Shell 可以实现更灵活的消费,例如:
bin/kafka-run-class.sh kafka.tools.SimpleConsumerShell \--broker-list ark2:9092 \--offset 1234 \--partition 2 \--topic event_topic \--print-offsets
消费的数据的格式与导入时的数据格式基本一致。