我试图连接一个表的两列,其中一列是 string
( charray
)另一个是一袋元组:
t1 = GROUP K by domain;
t2 = FOREACH t1 GENERATE CONCAT(t1.group, '\t', t1.K);
但是,我得到一个错误:
无法推断org.apache.pig.builtin.concat的匹配函数为多个或没有匹配的函数。请使用显式转换。
不知道该用什么石膏。有人能帮忙吗?
我试图连接一个表的两列,其中一列是 string
( charray
)另一个是一袋元组:
t1 = GROUP K by domain;
t2 = FOREACH t1 GENERATE CONCAT(t1.group, '\t', t1.K);
但是,我得到一个错误:
无法推断org.apache.pig.builtin.concat的匹配函数为多个或没有匹配的函数。请使用显式转换。
不知道该用什么石膏。有人能帮忙吗?
2条答案
按热度按时间4urapxun1#
concat接受两个相同类型的表达式。在pig语句中有3个表达式。您将需要另一个concat。对于强制转换,请在字段前面加上数据类型前缀(chararray)。此外,还必须转义“\”。
kkih6yb82#
concat函数来连接两个表达式。两个表达式的结果值必须具有相同的类型。
concat最终是一个java函数,它支持相同类型的参数。通过传递相同类型的表达式,可以实现相同的效果。