我有一些目标为4个值的数据,我希望其中三个成为使用拉丁猪的一个人的一部分。
Input: Output:
ID | Target ID | Target
----------------- -----------------
test1 1 test1 1
test2 1 test2 1
test3 2 test3 2
test4 2 test4 2
test5 3 test5 2
test6 4 test6 2
test7 2 test7 2
有人知道最好的方法
答案 0 :(得分:0)
使用Bincond检查大于1的目标值,如果为true,则将其替换为您想要的值,在本例中为2。
A = LOAD 'data.txt' USING PigStorage('\t') AS (Id:chararray,target:int);
B = FOREACH A GENERATE Id,(target > 1 ? 2 : target);
DUMP B;