【问题标题】:Mapping a one to many relationship映射一对多关系
【发布时间】:2020-02-23 07:42:11
【问题描述】:

我有两个主题。

1 - 艺术家<ArtistId, Artist>

2 - TitleArtist - <String, TitleArtist> TitleArtist 由一个 ArtistId 和一个 titleId 组成

我正在尝试弄清楚如何生成具有以下结构的表格。

ArtistsForTitle - <TitleId, [Artist]>

将 Artist 流作为表格读取似乎很简单。

至于 TitleArtist,我想我会在 titleId 上使用 selectKey,然后在其上使用 groupByKeyaggregate。我不明白如何处理从标题中删除艺术家的问题。

【问题讨论】:

    标签: apache-kafka-streams


    【解决方案1】:

    您应该将两个输入主题都读取为KTable(而不是KStream)。首先你做一个外键连接,获取艺术家信息(从 2.3.0 版本开始可用)然后你用新键 TitleId 做一个groupBy() 来收集艺术家列表。

    使用KTables 为您提供端到端更新语义。我假设从标题中删除艺术家是 TitleArtist 主题中的 <key,null> 消息?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      • 2012-06-12
      相关资源
      最近更新 更多