Apache pig 清管器减速机尺寸优化的最佳方法是什么?

Apache pig 清管器减速机尺寸优化的最佳方法是什么?,apache-pig,Apache Pig,我是新来的猪,工作的脚本,我面临的情况。对于大多数减速机,我的工作效率很高,但最后几个减速机需要几个小时才能完成。我能提出的唯一合理的解释是,很少有还原程序具有大量数据,这是很有可能的,因为作为映射练习,我必须将超过1000万行的数据集连接到大约500行的数据集 我发现的两种方法是使用parallel设置减缩器的数量,另一种是使用pig.exec.reducers.bytes.per.reducer 在我的情况下,哪种方法会更好?(可能有大量记录映射到单个键) 另外,对于pig.exec.red

我是新来的猪,工作的脚本,我面临的情况。对于大多数减速机,我的工作效率很高,但最后几个减速机需要几个小时才能完成。我能提出的唯一合理的解释是,很少有还原程序具有大量数据,这是很有可能的,因为作为映射练习,我必须将超过1000万行的数据集连接到大约500行的数据集

我发现的两种方法是使用parallel设置减缩器的数量,另一种是使用
pig.exec.reducers.bytes.per.reducer

在我的情况下,哪种方法会更好?(可能有大量记录映射到单个键)


另外,对于
pig.exec.reducers.bytes.per.reducer
什么是正确的实现方法?

这是关于优化映射reduce作业的好文档:-

正如您也猜到的,这似乎是数据偏斜的问题——很少有键比其他键具有更多的记录


如果您的一个文件很小,可以轻松放入内存,请尝试使用复制连接。这是映射器端连接,通常它会处理数据偏斜问题

为了优化连接,您应该将复制连接用作

 C = JOIN big BY b1, tiny BY t1, mini BY m1 USING 'replicated';
要并行处理作业或增加所有步骤的减速机数量,只需添加一行即可

  SET default parallel 100;
在pig脚本的开头,或者您可以使用

parallel 100; //on the line of the code

谢谢。这真的很有帮助