字符串连接在猪中不起作用
Posted
技术标签:
【中文标题】字符串连接在猪中不起作用【英文标题】:string concatenation not working in pig 【发布时间】:2014-10-10 12:27:10 【问题描述】:我在 hcatalog 中有一个表,它有 3 个字符串列。当我尝试连接字符串时,出现以下错误:
A = LOAD 'default.temp_table_tower' USING org.apache.hcatalog.pig.HCatLoader() ;
B = LOAD 'default.cdr_data' USING org.apache.hcatalog.pig.HCatLoader();
c = FOREACH A GENERATE CONCAT(mcc,'-',mnc) as newCid;
无法使用导入解析 concat:[, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
无法将 org.apache.pig.builtin.CONCAT 的匹配函数推断为多个匹配或都不匹配。请使用显式演员表
问题的根本原因可能是什么?
【问题讨论】:
你用的是什么版本的猪?因为具有两个以上参数的 CONCAT 在 0.13 版本中可用。在以前的版本中,您必须使用 CONCTAT(CONCAT(mcc,'-'),mnc) 引用CONCAT,支持两个以上参数,CONCAT不支持多个参数 【参考方案1】:可能有助于猪的连接
data1 包含:
(Maths,abc)
(Maths,def)
(Maths,ef)
(Maths,abc)
(Science,ac)
(Science,bc)
(Chemistry,xc)
(Telugu,xyz)
将架构考虑为子:Maths,Maths,Science....etc 和名称:abc,def,ef..etc
X = FOREACH data1 GENERATE CONCAT(sub,CONCAT('@',name));
X 的 O/P 为:
(Maths@abc)
(Maths@def)
(Maths@ef)
(Maths@abc)
(Science@ac)
(Science@bc)
(Chemistry@xc)
(Telugu@xyz)
【讨论】:
以上是关于字符串连接在猪中不起作用的主要内容,如果未能解决你的问题,请参考以下文章