使用Pig。12。
我想用foreach和block语句;结果,通过生成取决于一些值。我知道我可以用flatten加上一个语句。即。:
grunt> d = foreach j2 {
ord = order j1 by A::a1 desc;
l = limit ord 1;
generate flatten((IsEmpty(l)?'f':'g')); };
这很管用。
但我想做的是:
grunt> d = foreach j2 {
ord = order j1 by A::a1 desc;
l = limit ord 1;
generate flatten((l.$0=='2') ?'f':'g'); };
2014-05-07 22:28:08750[main]error org.apache.pig.tools.grunt.grunt-错误1200:输入不匹配“?”应为右\u paren
为什么这么说?
我试过:
grunt> d = foreach j2 {
ord = order j1 by A::a1 desc;
l = limit ord 1;
generate flatten(((l.$0=='2') ?'f':'g')); };
2014-05-07 22:40:44895[main]error org.apache.pig.tools.grunt.grunt-错误1039:(name:equal type:null uid:null)equal操作符左手中的不兼容类型side:bag :元组(a::a1:chararray)右侧side:chararray
我不知道怎么解决这个问题。
我只想在一个测试用例中生成结果,但首先需要将测试条件展平。救命啊?谢谢,马特
暂无答案!
目前还没有任何答案,快来回答吧!