Как разделить данные при архивировании из базы данных AWS в S3

Для проекта, который мы унаследовали, у нас есть большой набор устаревших данных, 600 ГБ, которые мы хотели бы заархивировать, но при необходимости они все еще доступны.

В соответствии с этим руководством мы рассматриваем возможность использования конвейера данных AWS для перемещения данных из базы данных в S3.

https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-copyactivity.html

Однако мы также хотели бы иметь возможность извлекать «строку» этих данных, если мы обнаружим, что приложение фактически использует определенную строку.

Судя по всему, в этом руководстве все данные из таблицы помещаются в один массивный CSV-файл.

Можно ли разделить данные на отдельные файлы, по 100 строк данных в каждом файле и дать каждому файлу предсказуемое имя файла, например:

foo_data_10200_to_10299.csv

Таким образом, если мы поймем, что нам нужно получить строку 10239, мы сможем узнать, какой файл нужно получить, и загрузить только его, а не все 600 ГБ данных.


person Danack    schedule 16.03.2018    source источник


Ответы (1)


Если ваши данные хранятся в формате CSV в Amazon S3, есть несколько способов легко получить выбранные данные:

  • Amazon Athena – это интерактивный сервис запросов, упрощающий анализ данных в Amazon S3 с помощью стандартного SQL.
  • S3 Select (в настоящее время в предварительной версии) позволяет приложениям извлекать только подмножество данных из объекта с помощью простых выражений SQL.

Они также работают со сжатыми (gzip) файлами для экономии места на диске.

Видеть:

person John Rotenstein    schedule 16.03.2018