【问题标题】: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不支持多个参数

标签: hadoop mapreduce apache-pig bigdata


【解决方案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)

【讨论】:

    猜你喜欢
    • 2011-04-03
    • 2021-01-28
    • 1970-01-01
    • 2021-01-26
    • 2018-09-03
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多