我有一个google cloud platform composer作业,它包含两个部分:一个hive(dataproc)查询,生成一个非常大的表;一个dataflow作业,读取支持该表的Parquet文件,使用第一个字段(一个用户id,其中每个用户都有几百行)收集它们,然后使用用户的所有行计算一些内容。
我看到的是dataflow作业的吞吐量是锯齿形的,我的印象是shuffle步骤(我使用的是combine.perkey())导致了这种减慢。
我希望能够在配置单元查询中指定(1)表有特定数量的支持它的文件,(2)用户标识的空间应该被划分到这些文件中。然后,dataflow作业中的每个worker可以处理单个文件(或多个文件),而不必通过shuffle与其他worker通信。
我是这项技术的初学者,所以我想知道这是否是解决吞吐量的正确方法,以及如何做到这一点。
提前谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!