pig:基于其他两列创建新列

mwecs4sa  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(258)

我想知道是否有可能在Pig身上做这样的事情:
共有三列:
“类型1”、“类型2”、“类型3”
b 101、159、74
我想将c列定义为:
如果a==“类型1”,则c=b;否则c=0
这在Pig身上可能吗?

7lrncoxx

7lrncoxx1#

是的,这是可能的。你可以这样写:

data = LOAD '$dataSource' using AvroStorage();
-- data = {A, B}

data2 = FOREACH data
           GENERATE
               A,
               B,
               (A == 'type1' ? B : 0) AS C;

dump data2;

相关问题