如何将嵌套数组转换为 ksqldb/kafka 中的 table
How to transform a nested array into a table in ksqldb/kafka
我开始学习 Kafka 的 ksqldb 并且 运行 陷入了一个问题,我有一个 Product stream 并且结构如下:
ID | VARCHAR(STRING)
NAME | VARCHAR(STRING)
...
INGREDIENTS | ARRAY<STRUCT<NAME VARCHAR(STRING), ISALLERGEN BOOLEAN, RELATIVEAMOUNT DOUBLE>>
因此,我想创建一个 table 并使用 'LATEST_BY_OFFSET' 函数获取产品的最后状态,但问题是我无法将此函数应用于数组或结构。
我应该分解每个道具并在 table 中为每种成分创建一个单独的条目吗?(我认为这非常难 运行ge)。我该如何处理这种情况?有什么想法可以告诉我吗?
这是一个已知问题。它记录在此处:https://github.com/confluentinc/ksql/issues/5437 并且我目前正在处理它。希望在即将发布的版本中提供解决方案!
我不确定你的解决方法是如何工作的,因为在你展开数组后,每个键可能有结构的每个组件的多个实例...
问题已在 0.25.1 版本中解决
https://github.com/confluentinc/ksql/pull/8878
https://github.com/confluentinc/ksql/commit/adac45855dce1c413073e5cbeb474cb022013a2b
我开始学习 Kafka 的 ksqldb 并且 运行 陷入了一个问题,我有一个 Product stream 并且结构如下:
ID | VARCHAR(STRING)
NAME | VARCHAR(STRING)
...
INGREDIENTS | ARRAY<STRUCT<NAME VARCHAR(STRING), ISALLERGEN BOOLEAN, RELATIVEAMOUNT DOUBLE>>
因此,我想创建一个 table 并使用 'LATEST_BY_OFFSET' 函数获取产品的最后状态,但问题是我无法将此函数应用于数组或结构。
我应该分解每个道具并在 table 中为每种成分创建一个单独的条目吗?(我认为这非常难 运行ge)。我该如何处理这种情况?有什么想法可以告诉我吗?
这是一个已知问题。它记录在此处:https://github.com/confluentinc/ksql/issues/5437 并且我目前正在处理它。希望在即将发布的版本中提供解决方案!
我不确定你的解决方法是如何工作的,因为在你展开数组后,每个键可能有结构的每个组件的多个实例...
问题已在 0.25.1 版本中解决 https://github.com/confluentinc/ksql/pull/8878 https://github.com/confluentinc/ksql/commit/adac45855dce1c413073e5cbeb474cb022013a2b