Как преобразовать массив <string>в строку в улье - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу преобразовать array<string> в строку в улье. Данные массива выглядят следующим образом:

+-------------------------------------+--+
| NULL                                |
| ["Extension","Terms & Conditions"]  |
| ["Value (generic or item level)"]   |
+-------------------------------------+--+

Я хочу собрать значения массива для преобразования в строку без [""], чтобы получить результат, подобный:

+-------------------------------------+--+
| NULL                                |
| Extension,Terms & Conditions        |
| Value (generic or item level)       |
+-------------------------------------+--+

Следующий запрос: select concat_ws(',', col_name) as col_name from table_stg; предоставляет результат, но возвращает NULL как пустое. Я попробовал несколько ссылок, таких как:

Как я могу преобразовать массив в строку в улье sql?

Hive - Как привести массив к строке?

Но не получается желаемый результат. Есть ли способ получить желаемый результат?

1 Ответ

0 голосов
/ 20 апреля 2020

Со ссылкой на комментарий Вамси мне удалось получить это, и я подумал, что нужно ответить и для справки сообщества.

select case when col_name is NULL then NULL 
    else concat_ws(',',col_name) end from table_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...