【发布时间】:2017-12-17 09:17:32
【问题描述】:
我有一种情况,我需要将管道中的主要数据流 (1.5TB) 加入 2 个不同的数据集(4.92GB 和 17.35GB)。我用来为两者执行 CoGroupByKey 的密钥是相同的。有没有办法避免在第一次完成后重新洗牌连接的左侧?目前我只是将输出保留为 KV>。这似乎比在第一次加入后分段发射每个元素要好,但第二个 groupByKey 似乎仍然比我预期的要花更长的时间。我打算开始研究拆分 CoGroupByKey,看看我是否可以忽略对一侧进行分组,但我真的觉得现在不降到那个级别更安全。
This was prior to keeping Iterables grouped after the first join
【问题讨论】:
-
CoGroupByKey 支持任意数量的输入集合。是否可以将所有 3 个输入集合都设置为相同的键,并按顺序执行单个 CoGroupByKey 而不是 2 个?
标签: google-cloud-dataflow dataflow apache-beam