Google cloud platform GCP配置单元和数据流,无需洗牌

Google cloud platform GCP配置单元和数据流,无需洗牌,google-cloud-platform,hive,google-cloud-dataflow,google-cloud-dataproc,Google Cloud Platform,Hive,Google Cloud Dataflow,Google Cloud Dataproc,我有一个Google Cloud Platform composer作业,它由两部分组成:一部分是生成一个非常大的表的hive(dataproc)查询,另一部分是数据流作业,它读取支持该表的拼花地板文件,使用第一个字段(一个用户id,其中每个用户有几百行)收集这些文件,然后使用用户的所有行计算一些内容 我看到的是,数据流作业的吞吐量呈锯齿状,我的印象是,洗牌步骤(我使用的是Combine.perKey())导致了这种减速 我希望能够在配置单元查询中指定(1)表有特定数量的支持它的文件,(2)用户

我有一个Google Cloud Platform composer作业,它由两部分组成:一部分是生成一个非常大的表的hive(dataproc)查询,另一部分是数据流作业,它读取支持该表的拼花地板文件,使用第一个字段(一个用户id,其中每个用户有几百行)收集这些文件,然后使用用户的所有行计算一些内容

我看到的是,数据流作业的吞吐量呈锯齿状,我的印象是,洗牌步骤(我使用的是Combine.perKey())导致了这种减速

我希望能够在配置单元查询中指定(1)表有特定数量的支持它的文件,(2)用户ID的空间应该被划分到这些文件中。然后,数据流作业中的每个工作人员都可以处理单个文件(或多个文件),而不必通过shuffle与其他工作人员通信

我是这项技术的初学者,所以我想知道这是否是修复吞吐量的正确方法,以及如何做到这一点


提前谢谢

您的蜂巢表是否群集。这很容易让你在蜂巢中映射侧面连接。火花虽然。。。离你的蜂巢桌子还有一点远吗。这很容易让你在蜂巢中映射侧面连接。火花虽然。。。还是有点落后