Пакет или дизайн Python, полезные для загрузки данных в несколько облачных баз данных - PullRequest
0 голосов
/ 28 октября 2019

У меня есть словарь фреймов данных, каждый из которых представляет таблицу в базе данных. Я хочу загрузить все эти таблицы в несколько облачных баз данных, включая: AWS DynamoDB Snowflake (ODBC) AWS RedShift AWS DocumentDB Azure CosmosDB GCP Spanner GCP BigQuery GCP FireStore GCP MemoryTable AWS Elaticache AWS Neptune AWS QLDB Есть ли какой-либо шаблон проектирования, который я могу использовать для работыс этой проблемой? Как насчет пакетов Python, которые могут подключаться к этим базам данных. Есть ли подобный код на GitHub? Или проще сначала загрузить данные в одну базу данных, например MongoDB, а затем перенести их в другие базы данных.

1 Ответ

0 голосов
/ 30 октября 2019

Звучит так, как будто вы хотите использовать некоторые среды ORM, такие как SQLAlchemy для Python в программировании, или некоторые инструменты ETL, такие как Kettle (основанные на JDBC) для выполненияпередача данных из фреймов данных в несколько облачных баз данных.

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

Рис. 1. SQLAlchemy поддерживает этибазы данных, снимок экрана взят из SQLAlchemy Диалекты страница

enter image description here

Рис. 2. Классический инструмент ETL, Kettle, поддерживает эти базы данных,Снимок экрана сделан с Kettle Специальные проблемы с базой данных и опыт страница

enter image description here

Итак, смешанное решение: 1. Вручную написатьСкрипт Python с использованием SQLAlchemy 2. Непосредственно используйте Kettle с некоторыми необходимыми плагинами, которые поддерживают другие дополнительные базы данных (например, inquidia / PentahoSnowflakePlugin для AWS DynamoDB Snowflake), даже попробуйте интегрироватьПитался с помощью Python через CPython Script Executor .

Надеюсь, это поможет.

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