分组数据的优化

时间:2018-05-11 21:16:37

标签: google-cloud-dataflow apache-beam

我正在尝试使用apache beam对大量键进行分组。由于数据的性质和分组使用的逻辑,我不能使用组合器。我正在使用数据流洗牌器。还可以使用哪些其他优化措施? 我的意思是在处理大量数据时要考虑的一般因素。

1 个答案:

答案 0 :(得分:2)

一般情况下,同一个键的值太多会导致性能不佳(称为“热键”)。

处理此问题的方法之一涉及将数据拆分为多个密钥,然后将结果组合为更少的值,然后再将这些结果组合为原始密钥。

如果您在Dataflow中使用正确的选项,则会自动支持此提示。本博客通过使用Combine.PerKey.withHotKeyFanout或Combine.Globally.withFanout来表明这一点。 blog。它还包含一些您可能会觉得有用的其他建议。

我希望博客文章中的建议可以帮助您找到有效的解决方案:)。

相关问题