WORKFLOW - Большая миграция данных с использованием Pandas, Python, Pyodbc, ASYNCIO и SQLAlchemy?

Я просто ищу оптимальную идею о переносе большого массива данных в MSSQL. У меня есть следующая настройка:

Im, подключающийся к моему источнику, используя pyodbc и SQLAlchemy для моего адресата:

source = pyodbc.connect(DSN=some_dsn)
destination = create_engine('mssql+pyodbc://@some_db')

У меня есть 3 основные функции:

  1. get_tables () - получить все исходные таблицы
  2. extract_table () - извлекать все данные из исходной таблицы
  3. import_table () - импортировать извлеченные данные в msssql

get_tables () возвращает список таблиц

extract_table () Я хочу извлечь таблицы в chunks с помощью pandas.read_sql (), и я хочу, чтобы это было асинхронным, что означает, что во время чтения фрагмента следует извлечь следующую таблицу в списке. Или что является лучшим способом обработки большого набора данных?

import_table (), как только кусок готов из extract_table (), я хочу асинхронно импортировать его в mssql. Использование pandas.to_sql ()

Проблемы у меня:

  1. Как это решить, используя asyncio
  2. Pandas.read_sql () в extract_table () действительно медленный - любые другие решения?
  3. Как преобразовать результаты генератора python в pandas dataframe?

Любая помощь и советы действительно априорированы!

Заранее спасибо!

sql-server,pandas,sqlalchemy,python-asyncio,pyodbc,

0

Ответов: 0

WORKFLOW - Большая миграция данных с использованием Pandas, Python, Pyodbc, ASYNCIO и SQLAlchemy?

Я просто ищу оптимальную идею о переносе большого массива данных в MSSQL. У меня есть следующая настройка:

Im, подключающийся к моему источнику, используя pyodbc и SQLAlchemy для моего адресата:

source = pyodbc.connect(DSN=some_dsn)
destination = create_engine('mssql+pyodbc://@some_db')

У меня есть 3 основные функции:

  1. get_tables () - получить все исходные таблицы
  2. extract_table () - извлекать все данные из исходной таблицы
  3. import_table () - импортировать извлеченные данные в msssql

get_tables () возвращает список таблиц

extract_table () Я хочу извлечь таблицы в chunks с помощью pandas.read_sql (), и я хочу, чтобы это было асинхронным, что означает, что во время чтения фрагмента следует извлечь следующую таблицу в списке. Или что является лучшим способом обработки большого набора данных?

import_table (), как только кусок готов из extract_table (), я хочу асинхронно импортировать его в mssql. Использование pandas.to_sql ()

Проблемы у меня:

  1. Как это решить, используя asyncio
  2. Pandas.read_sql () в extract_table () действительно медленный - любые другие решения?
  3. Как преобразовать результаты генератора python в pandas dataframe?

Любая помощь и советы действительно априорированы!

Заранее спасибо!

00SQL-сервер, панды, SQLAlchemy, питон-asyncio, pyodbc,
Похожие вопросы