in子句

4smxwvx5  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(294)
user1,action,aa
user2,comedy,cc
user3,drama,dd
user4,action,aa
user5,action,aa
user6,comedy,cc
user7,action,aa
user8,comedy,cc
user9,drama,dd
user10,action,aa
user11,action,aa
user12,comedy,cc

如果相应的角色来自(动作,喜剧),我想用bb来替换所有的aa。找不到case语句支持或其他相同的方法!

jv4diomz

jv4diomz1#

假设您的数据被加载到关系a,那么使用case语句检查$1的值,即关系a中的第二个字段,当它是'action'或'comedy'时,用'bb'替换值'aa',否则使用默认值$2

B = FOREACH A GENERATE $0,$1,
               (CASE $1
                    WHEN 'action' OR 'comedy' THEN REPLACE($2,'aa','bb')
                    ELSE $2 END);

相关问题