我有一个元组的专栏,名为avg_rating。我想根据avg_rating中的值创建一个新的列NPS。下面是avg_rating数据的样子
avg_rating
3
4
8
9
10
因此,如果评级为>= 8,则如果评级介于4-8之间,则如果评级小于4,则NPS为D。
以下是我所尝试的,
yy = FOREACH avg_rating GENERATE avg_rating,((int)wtr>=8 ?'P':(int)wtr>=4 && (int)wtr<8 ?'PR':'D');
我在turnery算子中使用了多个条件,但给出了错误
语法错误,“(”)或“附近”处的意外符号
你知道这有什么不对吗?
发布于 2013-12-09 20:42:33
这里有几个问题。
这篇文章分析:
avg_rating = load '/tmp' using PigStorage('\t') as (wtr:INT);
yy = FOREACH avg_rating GENERATE
wtr,
((int)wtr>=8 ? 'P' : ((int)wtr>=4 and (int)wtr<8 ? 'PR' : 'D')) as v;
describe yy;
https://stackoverflow.com/questions/20477924
复制相似问题