在使用grunt for pig时,如何避免多个map reduce作业,同时调试涉及同一表上不同操作的脚本?

zi8p0yeb  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(285)

我在Pig圈里干活。
我有一张table AcolA .
我想把table分组 AcolA 并将其存储在文件中 grACount ,以及 grACount 并将过滤后的结果存储在一个名为 grACountFilter .
如果我在grunt shell中编写如下语句:

grA = GROUP A BY colA;
grACount = FOREACH grA GENERATE group as colA, COUNT(A.colA) as countColA;
STORE grACount into 'grACount';
grACountFilter = FILTER grACount BY countColA>15;
STORE grACountFilter into 'grACountFilter';

然后它将提交一个Map削减工作为3号线,然后再次为5号线对吗?
当它再次提交第5行的作业时,它将重新计算表,对吗?
我想要的是不必提交两个不同的map reduce作业,并且一次完成所有的计算。这可能吗?

osh3o9ms

osh3o9ms1#

pig中的store和dump命令将触发作业执行。所以你不能阻止这种行为。您可以将所有store命令放在一起。单个存储或转储命令可能会触发多个mapreduce作业。
一旦脚本到达store或dump命令,就会执行执行计划。作业的数量取决于执行计划。

相关问题