Как запросить данные из gz-файла Amazon S3 с помощью запроса Qubole Hive?

Мне нужно получить конкретные данные от GZ. как написать sql? я могу просто sql как таблица базы данных?:

  Select * from gz_File_Name where key = 'keyname' limit 10.

но всегда возвращаюсь с ошибкой.

1 ответ

Решение

Необходимо создать внешнюю таблицу Hive для этого местоположения файла (папки), чтобы можно было выполнять запросы с помощью Hive. Улей распознает формат GZIP. Как это:

create external table hive_schema.your_table (
col_one string, 
col_two string
)
stored as textfile  --specify your file type, or use serde
LOCATION
  's3://your_s3_path_to_the_folder_where_the_file_is_located'
;

См. Руководство по таблице Hive здесь: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

Если быть точным, s3 под капотом не хранит папки, имя файла, содержащее / s в s3, представлено различными инструментами, такими как Hive, как структура папок. Смотрите здесь: /questions/33376367/izbegajte-sozdaniya-klyuchej-folder-v-s3-s-pomoschyu-hadoop-emr/33376386#33376386

Другие вопросы по тегам