数据流非常适合具有简单转换的管道,但是当我们进行复杂的转换(例如联接)时,性能确实很差。
答案 0 :(得分:0)
我写了这个问题自己回答。
引擎盖下发生了什么事
解决方法
例如,如果左侧集合中有1个键列,而右侧集合中需要1个值列,则仅将这些信息传递给CoGroupByKey转换。虽然这确实会导致原始集合的数据丢失,但是您将创建一个查找集合,其中包含基于KV的所需信息。
然后,您可以使用DoFn遍历数据,重建密钥并从作为侧面输入传递的Map中的数据中获取数据。
这种方法给出了惊人的结果,它使我能够在5分钟内加入上述数据。