Запросить файл JSON в Presto в S3

У меня есть файл в S3, а Presto работает на EMR. Я вижу, что могу использовать Json_extract для чтения json.

Я выполняю следующий запрос, однако я продолжаю видеть ноль вместо правильного значения.

select json_extract('s3a://random-s3-bucket/analytics/20210221/myjsonfile.json', '$.dateAvailability')

Я вижу этот вывод

введите описание изображения здесь

Не уверены, что мой синтаксис неверен? Мысли?


person IndianGrandma007    schedule 23.02.2021    source источник


Ответы (2)


json_extract() работает со скалярными значениями JSON, хранящимися в памяти. Он не загружает данные из внешнего местоположения. См. Страницу документации для примеров использования.

Чтобы запросить файл JSON с помощью Trino (, ранее известный как Presto SQL), вам нужно отобразить его как таблицу с форматом JSON следующим образом:

CREATE TABLE my_table ( .... )
WITH (
    format = 'JSON',
    external_location = 's3a://random-s3-bucket/analytics/20210221'
);

Дополнительную информацию см. В документации по коннектору Hive.

person Piotr Findeisen    schedule 23.02.2021