Шаблон раскола улья с использованием регулярных выражений - PullRequest
1 голос
/ 28 апреля 2020

У меня проблема с шаблоном разбиения в запросе улья.
образец строки из таблицы:

['EN', 'FR', 'DE', 'IT', 'JA', 'RU', 'ZH', 'ES', 'ZH']

и теперь с функцией разделения я хотел бы вернуть эту строку следующим образом:

EN  
FR  
...  
ZH  

Сначала я попробовал так: split(data.language, ',')[1]
Я не знаю, как мне избавиться от квадратных скобок и кавычек.

1 Ответ

1 голос
/ 28 апреля 2020

Используйте regexp_replace для замены [|]|' символов, затем split столбца строки, затем explode массива.

select explode(split(regexp_replace(sample,"[\\[|\\'|\\]]",""),",")) 
   from (
select string("['EN', 'FR', 'DE', 'IT', 'JA', 'RU', 'ZH', 'ES', 'ZH']")as sample
     )e;

--output
--+---+
--|col|
--+---+
--| EN|
--| FR|
--| DE|
--| IT|
--| JA|
--| RU|
--| ZH|
--| ES|
--| ZH|
--+---+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...