Kafka 是分布式消息订阅系统,有非常好的横向扩展性,可实时存储海量数据,是很常用的流数据处理中间件。物联网设备采集的数据很多时候就是通过 Kafka 进行处理的。当 Kafka 数据要入库分布式数据库 Greenplum 时,我们就需要考虑入库的效率和可靠性了。
VMware Tanzu™ Greenplum® Streaming Server 提供了 Loading Kafka Data into Greenplum 的工具,官网描述 You can use the gpsscli or gpkafka load utilities to load Kafka data into Greenplum Database. 这里描述的是使用 gpkafka 导入 Kafka 数据的方法。
官方组件在使用的过程中也是会有不少问题的,这里做个记录。
gpkafka load start job failed: Kafka job failed to prepare: setOffsetWithoutForce: history partition 0 offset: 12541777 out of range [13396513, 14191777]: offset gap detected
问题解决: 找到对应的入库表gpkafka_保存的偏移量,我们可以看到结束endoffset是12541777&