如何在pig中压平测试语句?

xggvc2p6  于 2021-06-21  发布在  Pig
关注(0)|答案(0)|浏览(211)

使用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
我不知道怎么解决这个问题。
我只想在一个测试用例中生成结果,但首先需要将测试条件展平。救命啊?谢谢,马特

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题