关于如何消费kafka数据,请参看 Vertica的这些事(十四)——Vertica实时消费kafka实现
最近有小伙伴提出了消费kafka的一些疑问,答疑如下:
1、 Vertica消费kafka机制是什么?
Vertica通过scheduler来按定义的频度调度执行copy table from kafkasource(...)来从kafka的主题加载数据。
2、 Vertica消费kafka的偏移量是怎么维护的?
Vertica的scheduler会把每个主题消费到的偏移量存储到表stream_microbatch_history中(schema由scheduler的参数指定和创建),没加载一批就会scheduler就会给它加上,下一次加载的时候会作为参数传递给kafkasource。
3、 Vertica消费kafka是多个节点并发执行?资源怎么控制?
Vertica是多个节点并行读取kafka主题多个patition的消息的。资源池的EXECUTIONPARALLELISM参数会决定节点内解析消息的并行线程数,内存等资源也由资源池控制。
4、 Vertica消费kafka应该怎么监控?
MC本身具备kafka消息加载的监控界面,表stream_microbatch_history中有详细的加载信息。
5、 出现节点宕机对kafka消息读取有什么影响?
Kafka读过的消息偏移量和业务数据都存放到Vertica中,就算Vertica集群数据不完全恢复,他们也会保证是一致的,恢复后会自动从数据库中记录的偏移量开始继续加载,不会出现数据对视。