蜂巢-如何将数组转换为字符串?

时间:2018-09-24 16:13:30

标签: hive hiveql

我试图将包含逗号分隔数组的列强制转换为Hive中的字符串。

SELECT email_address, CAST(explode(GP_array AS STRING)) AS GP
FROM dm.TP

我收到以下错误

  

行:1-失败:SemanticException [错误10081]:SELECT子句之外不支持UDTF,也不嵌套在表达式中

1 个答案:

答案 0 :(得分:1)

explode函数将数组分解为多行。返回具有单列(col)的行集,该数组中的每个元素一行。

您将需要concat_ws函数将逗号分隔的数组值连接为String。

功能:concat_ws(字符串SEP,数组)

引用:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

SELECT email_address, concat_ws(',', GP_array) AS GP FROM dm.TP

concat_ws将返回由数组值构造的逗号分隔的字符串