запрос из афины файл в с3 - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в этом деле.У меня есть этот файл в amazon s3.

Как я могу запросить этот .tar.gz из Афины?

enter image description here

Я предполагаюЯ должен как-то распаковать и «восстановить» до «Афины»?Но я не знаю, как это сделать.

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Вы можете напрямую запрашивать файлы в AWS Athena в формате .gz, а также любые плоские файлы.Если ваш tar-файл содержит несколько файлов .gz и они имеют одинаковый формат файла, вам не нужно распаковывать их в .tsv.

Поскольку вы уже конвертировали в файлы .tsv, убедитесь, что файлы того же формата помещены в папку, например, s3: //bucketname/folder/file1.gz s3: // bucketname / folder / file2.gz

и т. д.file1 и file2 должны иметь одинаковую структуру.

Затем определите таблицу AWS Athena поверх этого.Пример сценария ниже -

CREATE EXTERNAL TABLE table_name (
yr INT,
 quarter INT,
 month INT,
 dayofmonth INT,
 dayofweek INT,
 flightdate STRING
)
 PARTITIONED BY (year STRING)
 ROW FORMAT DELIMITED
  FIELDS TERMINATED BY '\t'
  ESCAPED BY '\\'
  LINES TERMINATED BY '\n'
 LOCATION 's3://bucketname/folder/';

Хранение однородных файлов не является обязательным, но рекомендуется, чтобы можно было добавлять файлы удаления в одну и ту же папку и просто обновлять информацию о разделе каждый раз, когда происходит изменение.

Запустите MSCK REPAIR TABLE, чтобы обновлять метаданные раздела каждый раз, когда в эту таблицу добавляется новый раздел.

MSCK REPAIR TABLE table_name ;

Ссылка - https://docs.aws.amazon.com/athena/latest/ug/lazy-simple-serde.html#tsv-example

0 голосов
/ 22 мая 2018

Вы не можете запрашивать тарболы.Афина требует сжатые или несжатые текстовые файлы.Другие варианты - ORC или файлы паркета.Вам нужно распаковать файл и создать файл gzip, содержащий только текст .txt.

...