У меня следующий запрос в запросе Presto. Хотел бы преобразовать его в запрос HIVE. Я не могу найти Hive, эквивалентный «CAST (как ARRAY)», я видел людей, использующих регулярные выражения / строковые методы hive для извлечения контента из каждого элемента json ( Разбор массива JSON и загрузка в таблицу кустов ), но я не уверен, что это единственный способ, или Улей может сделать это так же аккуратно, как Престо.
структура "resp"
{
results:[{id:xx, source:xx},{id:xx, source:xx},...]
}
Presto Query
select
cast(json_extract(feed, '$.source') as VARCHAR) as src,
cast(json_extract(feed, '$.id') as VARCHAR) as id
from my_tbl
CROSS JOIN UNNEST (CAST(json_extract(resp, '$.results') AS ARRAY<JSON>)) t (feed)