Hadoop 独立Pig代码块的并行执行
我根据以下标准过滤了清管器数据集:Hadoop 独立Pig代码块的并行执行,hadoop,apache-pig,Hadoop,Apache Pig,我根据以下标准过滤了清管器数据集: A = LOAD 'data' USING PigStorage() as (f1:int,f2:int,f3:int,...); G1 = FILTER A BY f1<0; G2 = FILTER A BY (f1+f2)>0; 由于B和C都是完全独立的,并且是通过处理完全独立的数据集G1和G2生成的,为什么这两个操作不能并行运行 它们在每个STORE语句中按顺序触发。根据我的理解,如果启用了多查询执行,这两个代码块不应该并行运行吗?如果这
A = LOAD 'data' USING PigStorage() as (f1:int,f2:int,f3:int,...);
G1 = FILTER A BY f1<0;
G2 = FILTER A BY (f1+f2)>0;
由于B和C都是完全独立的,并且是通过处理完全独立的数据集G1和G2生成的,为什么这两个操作不能并行运行
它们在每个STORE语句中按顺序触发。根据我的理解,如果启用了多查询执行,这两个代码块不应该并行运行吗?如果这是不可能的,有没有办法让这些操作并行运行,因为这需要很多时间 你认为这是为什么?AFAIK pig将对其进行优化,并在parallel@Mzf当我运行脚本时,我在日志中看到两组不同的MR作业,它们是按顺序触发的。此外,由于这个原因,整个过程非常缓慢。如果您只执行一条STORE语句,是否会显著加快?@kecso,是的。事实上,我将代码分为5个不同的pig脚本(共有5个store语句),并通过一个shell脚本并行运行所有这些脚本,现在所花的时间要少得多。我只想知道为什么它们在一个pig脚本中没有并行运行。我想你已经读过这个文档了:
B = FOREACH G1 GENERATE ...
STORE B INTO 'location1'
C = FOREACH G2 GENERATE ...
STORE C INTO 'location2'