【问题标题】:Dataflow Apache beam Python job stuck at Group by stepDataflow Apache Beam Python 作业卡在 Group by step
【发布时间】:2019-08-18 14:32:18
【问题描述】:

我正在运行一个数据流作业,该作业从 BigQuery 读取并扫描8 GB of data and result in more than 50,000,000 records. 现在,我想根据一个键进行分组,并且需要连接一列。但是在连接列的连接大小变得超过 100 MB 之后,为什么我必须在数据流作业中执行该分组,因为该分组无法在 Bigquery level due to row size limit of 100 MB.

中完成

现在数据流作业在从 BigQuery 读取但卡在 Group by Step 时可以很好地扩展,我有 2 个版本的数据流代码,但两者都卡在了 Group by Step 中。 When I checked the stack driver logs, it says, processing stuck at lull for more than 1010 sec time(similar kind of message) and Refusing to split GroupedShuffleReader <dataflow_worker.shuffle.GroupedShuffleReader object at 0x7f618b406358> kind of message

我希望按州分组在 20 分钟内完成,但被卡住超过 1 小时并且永远不会完成

【问题讨论】:

    标签: google-bigquery apache-beam dataflow


    【解决方案1】:

    我自己想通了。 以下是我在管道中所做的 2 项更改: 1.我在Group by Key后面添加了Combine功能,见截图

    1. 由于Group by key在多个worker上运行时,会进行大量的网络流量交换,而我们使用的网络默认情况下是不允许跨网通信的,所以我必须创建一个防火墙规则来允许来自的流量一个工作人员到另一个工作人员,即 IP 范围到网络流量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      相关资源
      最近更新 更多