Вы должны использовать команду 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, удалите ее и обновите представление. Таким образом, вы можете архивировать целый месяц, не удаляя отдельные строки.