Улей разбирать строку на столбцы - PullRequest
0 голосов
/ 02 декабря 2018

В таблице Hive у меня есть столбцы (все имеют строковый тип данных)

CustomerId, Name, Gender

Имя типа данных является строкой формата

{'firstname': 'XXXXXX', 'middlename': 'YYYYYY',  'lastname': 'ZZZZZZ'}

Такжев некоторых строках отсутствует middlename -

CustomerId, {'firstname': 'AAAAAA', 'lastname': 'BBBBB'}, Gender 

Я хотел создать новую таблицу и заполнить нижеследующие столбцы -

CustomerId, firstname, middlename, lastname , Gender. 

Middlename будет пустым / пробелами, если значение отсутствует,Не могли бы вы помочь?

1 Ответ

0 голосов
/ 02 декабря 2018

Это недопустимые строки JSON, используйте двойные кавычки вместо одинарных, тогда вы можете использовать JSON_TUPLE() для извлечения полей.

CREATE TABLE yournewtable AS
 SELECT customerid,
       firstname,
       middlename,
       lastname,
       gender
FROM yourtable lateral view 
  json_tuple(Name,'firstname','middlename','lastname') 
j as firstname, middlename,lastname;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...