gpt4 book ai didi

python - 控制数据流/Apache Beam 输出分片

转载 作者:行者123 更新时间:2023-11-28 18:14:12 25 4
gpt4 key购买 nike

我们通过实验发现,在 Dataflow/Apache Beam 管道中设置明确的输出分片数量会导致性能更差。我们的证据表明,Dataflow 最后 secret 地执行了另一个 GroupBy。我们已经开始让 Dataflow 自动选择分片数量 (shards=0)。但是,对于某些管道,这会导致大量相对较小的输出文件(约 15K 个文件,每个 <1MB)。

是否有向 Dataflow 发送有关输出的预期大小的提示,以便它可以相应地缩放?我们注意到这个问题主要发生在输入数据集非常大而输出数据小得多的情况下。

我们使用的是 Apache Beam Python 2.2。

最佳答案

Dataflow/Apache Beam 不支持此类提示。一般来说,Dataflow 和 Apache Beam 被设计为尽可能“无旋钮”,原因如下:

  1. 允许 Dataflow 服务自行智能地做出优化决策。 Dataflow有智能autoscaling可以根据当前工作负载增加或减少工作虚拟机数量的功能。
  2. 确保使用 Apache Beam SDK 编写的管道可跨 runners 移植(例如 Dataflow、Spark 或 Flink)。管道逻辑是根据一组抽象来编写的,这样作业就可以在各种环境中运行。每个工作人员都可以将自己的一组优化应用于这些高级抽象。

关于python - 控制数据流/Apache Beam 输出分片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49519960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com