任何更快的方法来计算Pig行

vkc1a9a2  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(345)

我遵循了这个堆栈溢出问题,其中显示了如何计算pig中的行数。
我发现的问题是,如果我在计算过滤变量的行数之前做一些regex过滤器匹配和其他操作,那么这个过程非常耗时。
这是我的密码

all_data = load '/logs/chat1.log' USING TextLoader() as line:chararray;
match_filter_1 = filter all_data by ( line matches 'some regex');
inputGroup = GROUP match_filter_1 ALL;
totalLine = foreach inputGroup generate COUNT (match_filter_1);
dump totalLine;

那么,有没有办法更快地得到结果呢?

raogr8fs

raogr8fs1#

使用parallel子句增加作业的并行性:
parallel为pig生成的mapreduce作业设置reduce任务数。默认值为1(一个reduce任务)。并行只影响reduce任务的数量。Map并行性由输入文件决定,每个hdfs块对应一个Map。如果不指定parallel,则仍然会得到相同的map并行性,但只有一个reduce任务。

A = LOAD 'myfile' AS (t, u, v);
B = GROUP A BY t PARALLEL 18;

希望这有帮助!!!。。。

相关问题