Автоматизировать архивирование таблиц красного смещения (которые слишком велики для обработки) в AWS S3 Bucket - PullRequest
0 голосов
/ 18 января 2019

Мне нужны предложения / помощь в отношении того, как автоматизировать архивирование таблиц красного смещения (которые слишком велики для обработки) в AWS S3 Bucket. В моем случае мы хотим сохранить последние 90 дней в таблице красного смещения и выгрузить все данные в корзину S3 . Мы собираемся запускать задание один раз в месяц и будем хранить данные на основе одного из столбцов даты, представленных в таблице красных смещений. Любая помощь будет отличной. Ищем скрипт на python.

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Вы должны использовать команду UNLOAD в Amazon Redshift для сохранения данных в Amazon S3.

В Python вы можете использовать библиотеку, например psycopg2, для подключения к Redshift, поскольку она ведет себя как база данных PostgreSQL.

Взгляните на Как загрузить данные в Amazon Redshift через Python Boto3? для примера запуска команд Redshift из Python. (Этот ответ показывает команду COPY, но это тот же метод подключения.)

См. Также: Доступ к вашим данным в Amazon Redshift и PostgreSQL с помощью Python и R - Blendo

Вам нужно будет определить команды для запуска, такие как:

  • Выбор соответствующих данных для выгрузки
  • Удаление данных после выгрузки

Обычной практикой является размещение данных в ежемесячных таблицах , например, в таблице за январь, другой таблице за февраль и т. Д. Затем используйте CREATE VIEW, чтобы создать комбинированное представление этих таблиц с UNION команды. Вид может быть использован как обычная таблица. Позже, когда вы захотите заархивировать некоторые данные, выгрузите самую старую таблицу на S3, удалите ее и обновите представление. Таким образом, вы можете архивировать целый месяц, не удаляя отдельные строки.

0 голосов
/ 18 января 2019

Таким образом, я считаю, что AWS может решить проблему с использованием конвейеров данных. Это рабочие места, которые можно запланировать, поэтому они очень рентабельны. Я считаю, что это похоже на планирование-извлечение данных из-aws-redshift

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...