Запрос HIVE с боковым обзором, Json_Tuple - PullRequest
0 голосов
/ 24 августа 2018

У меня есть файл json, подобный этому

{"client":[{"name":"xyz","id":"123"}]}

Я создал внешнюю таблицу куста

create external table clients (client  STRING) LOCATION '  '  

Я сбросил файл json в расположение таблицы.

Я пытаюсь получить имя, поля идентификатора, используя LATERAL VIEW, JSON_TUPLE.

select v2.name,v2.id
from clients c
lateral view json_tuple(c.client,'client') v1 as client
lateral view json_tuble(v1.client,'id','name') v2 as id,name  

Я знаю, что вышеуказанный запрос будет работать, если в файле json нет квадратных скобок.

Я не являюсьсмог найти что-нибудь связанное с этим.
Как работать с узлами ARRAY в файле json при использовании LATERAL VIEW, JSON_TUPLE?

1 Ответ

0 голосов
/ 07 марта 2019

Как насчет regexp_replace '[' с ''?

select v2.name,v2.id
from clients c
lateral view json_tuple(regexp_replace(c.client,'[|]',''),'client') v1 as client
lateral view json_tuble(v1.client,'id','name') v2 as id,name  

Что-то в этом духе должно работать

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