如何在猪拉丁文脚本的条件运算符中比较不同的数据类型....?

时间:2015-05-27 12:36:06

标签: apache-pig

我们的要求是在条件运算符或case语句中将char数组数据类型与整数数据类型匹配,这也与整数数据类型中的o / p匹配,并且我尝试匹配两种数据类型并以整数形式得到答案。

A = LOAD 'DATA' USING PigStorage(',') AS (id:int,Name:char array);
B = FOREACH A GENERATE (A.Name is NULL ? 'NO NAME' : A.Name);
dump B;

我收到此错误1050:BinCond

的输入类型不受支持

2 个答案:

答案 0 :(得分:1)

试试这个:

A = LOAD 'DATA' USING PigStorage(',') AS (id:int, name:chararray);
B = FOREACH A GENERATE id as id, (name is null ? 'no name' : name) as name;
dump B;

答案 1 :(得分:0)

您可以使用强制转换。请仔细阅读以下指南 的 http://pig.apache.org/docs/r0.10.0/basic.html#cast

A = LOAD' DATA'使用PigStorage(',')AS(id:int,Name:char array); 转储A; (,tetst32m)

B = FOREACH A GENERATE((chararray)A.id为NULL?' CHECK':A.id); 转储B; (CHECK)

希望这会有所帮助!!