当 greenplum gpss 提交到 kafka 主题时

问题描述

我正在尝试使用 gpss(Greenplum Stream Server)将数据从 Kafka 加载到 GreenplumDB。

主要问题是如何\when gpss 实例将当前写入的偏移量提交给 kafka?

现在 gpss 实例不会向 kafka 提交任何消息,而是处理 GreenplumDB 中服务表中的当前偏移量。 我的预期行为是:

  1. 使用给定的 group.id 和主题(在 kafka 中是强制性的,在 gpss 设置中不是强制性的 - 顺便说一下,看起来很奇怪)
  2. 开始使用来自 kafka 主题的数据
  3. 按分区跟踪更高的偏移
  4. 等待发生 COMMIT 条件(COMMIT 是 gpss 作业配置中的设置块)
  5. 使用 gpfdist 将一批数据从 kafka 写入外部表
  6. 按分区向 kafka 提交最大偏移量
  7. 重复

但现在它的工作没有步骤 n.5 有人知道为什么吗?

第二个问题是 - gpss 是否使用 group.id? 在 gpss 作业配置中,我发现 PROPERTIES 块配置对应于 kafka 消费者配置属性

解决方法

如果自 1.6.0 版起在 yaml 文件中设置了“group.id”,gpss 会将消耗的偏移量提交给 Kafka。之前只向Greenplum的跟踪表提交过offset。