Улей - Как привести массив к строке? - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь привести столбец, содержащий массив, разделенный запятыми, к строке в Hive.

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

Я получаю следующую ошибку

Строка: 1 - FAILED: SemanticException [Ошибка 10081]: UDTF не поддерживаются вне предложения SELECT и не вложены в выражения

1 Ответ

0 голосов
/ 24 сентября 2018

функция разнесения Разрывает массив на несколько строк.Возвращает набор строк с одним столбцом (столбцом), по одной строке для каждого элемента массива.

вам потребуется функция 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 вернет разделенную запятой строку, построенную из значений массива .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...