我正在使用PIG处理数百万条记录的Feed。在阅读了HDFS的提要后,我需要执行三个不同的小组'操作然后结合所有这些的结果。让我们说无论关系联盟的架构如何运作良好。现在我的问题是PIG如何生成执行DAG,并且所有这三个按操作分组都将并行执行。
答案 0 :(得分:6)
Pig的处理步骤如下:
输出:一个规范的逻辑计划,它是猪拉丁语句和逻辑运算符之间的一对一映射,以DAG的形式排列。
您可以使用EXPLAIN
检查为您生成的PIG脚本计划对于你的第二个问题:
group by operation强制执行reduce阶段,您可以为其定义并行级别。默认情况下,如果未指定并行度,则减少器的数量为
按此公式计算:
min(maxReducersNumber, reducers)
其中:
- maxReducersNumber可以通过属性pig.exec.reducers.max(默认为999)设置
- reducers =(totalInputFileSize / bytesPerReducer)
- bytesPerReducer可以通过属性pig.exec.reducers.bytes.per.reducer设置(默认值:1GB)I.e:对于每1GB的输入数据,Pig将分配一个新的reducer
有关平行线的更多信息,请点击此处:
- how to use the parallel feature
- select the right level of parallelism
- source code of the reducer estimator