我在Pig圈里干活。
我有一张table A
与 colA
.
我想把table分组 A
由 colA
并将其存储在文件中 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作业,并且一次完成所有的计算。这可能吗?
1条答案
按热度按时间osh3o9ms1#
pig中的store和dump命令将触发作业执行。所以你不能阻止这种行为。您可以将所有store命令放在一起。单个存储或转储命令可能会触发多个mapreduce作业。
一旦脚本到达store或dump命令,就会执行执行计划。作业的数量取决于执行计划。