Запрос огромных файлов в ведре s3 - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть огромные файлы размером более 10 ГБ, хранящиеся в контейнерах s3. Мне нужно запросить данные в файлах и извлечь некоторые данные, а также выполнить некоторую обработку данных. AWS Афина обычно используется для запроса данных в s3, но есть ли другой способ? Афина не кажется мне полезной, поскольку файлы огромны.

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Несмотря на то, что Amazon Athena может обрабатывать большие файлы довольно хорошо, но если вы хотите, чтобы ваши запросы Athena были экономически эффективными и эффективными, вот несколько моментов, которые вы обязательно должны учитывать:

  • Во-первых, вы не упомянули тип файла (CSV, TSV, Parquet, OR C, et c). Тип файла чрезвычайно важен, так как немногие форматы являются разделяемыми, а некоторые - нет. Также тип сжатия. Разбиваемые файлы позволяют механизму выполнения в Афине разделять чтение файла несколькими считывателями для увеличения параллелизма. Паркет и ИЛИ C являются двумя наиболее распространенными форматами файлов и обеспечат вам лучшую производительность, а также стоимость, поскольку он будет сканировать меньшее количество данных.

  • Вы также не упомянули, насколько широк ваш файл. Если большую часть времени вы запрашиваете только несколько столбцов, рассмотрите хранилище столбчатых данных . Опять же, Apache Parquet и Apache ИЛИ C являются популярными хранилищами столбчатых данных.

  • Как вы планируете использовать предложение или фильтр "где"? Если вы можете классифицировать свои данные, сделайте это с помощью механизма partition . Вы можете ограничить объем данных, проверяемых запросом, указав фильтры на основе раздела. Это поможет вам уменьшить размер сканирования, что не только повышает производительность, но и снижает затраты.

Существует несколько других методов проектирования, которыми вы можете следовать, например: оптимизация размера файла, ORDER BY, объединений, GROUP BY или использование столбцов с кластеризацией / кластеризацией. Вы можете запускать задания AWS Glue ETL (без сервера) в Amazon EMR (управлял имением oop), чтобы преобразовать ваши данные в нужный формат и форму перед выполнением запросов Athena.

Для получения более подробной информации, посетите этот блог: https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/

0 голосов
/ 01 мая 2020

Amazon Athena особенно хороша в обработке больших файлов.

Афина взимается на основе данных, считываемых с диска, поэтому она может быть дешевле и быстрее обрабатывать файлы, сжатые, разбитые на разделы или столбчатые на основе формата.

См .: Анализ данных в S3 с помощью Amazon Athena | AWS Big Data Blog

...