有没有办法在猪上加载一些数据时排除文件的前n行?
我有一个我想加载的csv文件,但我必须忽略前3行。
答案 0 :(得分:2)
可以选择这样一个选项。
A = LOAD 'input' <schema>;
B = RANK A;
C = FILTER B BY $0 > 3;
D = FOREACH C GENERATE $1..;
DUMP D;
如果您在加载stmt中定义了架构,则使用已定义的名称而不是位置表示法($ 0,$ 1等)。它会更具可读性。
答案 1 :(得分:1)
请尝试以下代码:
abt = LOAD 'act.psv' using PigStorage('|')
as (r1:chararray,r2:chararray);
r = rank abt;
n = filter r by ($0 > 3);
p = foreach n generate r1,r2;
dump p;