问题描述
我正在尝试使用 gpss
(Greenplum Stream Server)将数据从 Kafka 加载到 GreenplumDB。
主要问题是如何\when gpss
实例将当前写入的偏移量提交给 kafka?
现在 gpss
实例不会向 kafka 提交任何消息,而是处理 GreenplumDB 中服务表中的当前偏移量。
我的预期行为是:
- 使用给定的 group.id 和主题(在 kafka 中是强制性的,在 gpss 设置中不是强制性的 - 顺便说一下,看起来很奇怪)
- 开始使用来自 kafka 主题的数据
- 按分区跟踪更高的偏移
- 等待发生 COMMIT 条件(COMMIT 是 gpss 作业配置中的设置块)
- 使用
gpfdist
将一批数据从 kafka 写入外部表 - 按分区向 kafka 提交最大偏移量
- 重复
但现在它的工作没有步骤 n.5 有人知道为什么吗?
第二个问题是 - gpss 是否使用 group.id?
在 gpss 作业配置中,我发现 PROPERTIES
块配置对应于 kafka 消费者配置属性
解决方法
如果自 1.6.0 版起在 yaml 文件中设置了“group.id”,gpss 会将消耗的偏移量提交给 Kafka。之前只向Greenplum的跟踪表提交过offset。