如何将嵌套数组转换为 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