如何使数据流Apache Beam工作更快

问题描述 投票:0回答:1

我有一个apache束工作,大约需要6个多小时才能完成。我们摄取了大约2.7Tb的GCS数据以及其他数据源(例如Bigtable / Bq / etc),然后执行CoGroupbyKey.create()。

[GCS数据采用原始字符串的形式,例如userId, hashedPhoneNumber,例如:

525135a7-cb59-46ec-8d1d-0f12df02f486, 3070816492067005070

从GCS提取数据并使用GroupbyKey创建KV时,我有多个DoFns

uuid -> Set<hashedphoneNumber>

我的问题更多是关于如何加快管道的速度?

  1. 现在,我将它们都读取为字符串数据类型。将它们读为UUID和长期帮助吗?尝试进行测试时,我无法获得UUID编码器。
  2. 制作套装<>是否需要额外费用?通常,应该牢记任何序列化/反序列化吗?除了设置Set,我还可以连接所有hashedPhoneNumber并将其传递下去吗?使用Set <>可以帮助我作为开发人员了解管道i / p,o / p。
  3. 其他任何使管道更快的方法或有关如何使用类型的一般建议?
mapreduce google-cloud-dataflow apache-beam
1个回答
0
投票

请看此答案的“编码器”部分:

Apache Beam - What are the key concepts for writing efficient data processing pipelines I should be aware of?

还有其他一些一般性的提示和技巧。

© www.soinside.com 2019 - 2024. All rights reserved.