Загрузка 100 миллионов строк в DWH ежедневно - PullRequest
0 голосов
/ 04 ноября 2018

Существует несколько баз данных OLTP Postgres, которые в общей сложности принимают 100 миллионов строк в день. Также есть Greenplum DWH. Как загрузить эти 100 миллионов строк данных с минимальным преобразованием в Greenplum ежедневно? Я собираюсь использовать Python для этого. Я уверен, что выполнение этого традиционным способом (psycopg2 + cursor.execute("INSERT ...), даже с партиями, займет много времени и создаст узкое место во всей системе.

Есть ли у вас какие-либо предложения, как оптимизировать процесс загрузки данных? Любые ссылки или книги, которые могут помочь, также приветствуются.

1 Ответ

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

Вы должны попытаться экспортировать данные в плоский файл (csv, txt и т. Д.).

Затем вы можете использовать некоторые утилиты Greenplum для импорта данных. Смотрите здесь .

Вы можете выполнить преобразование данных с помощью Python перед созданием плоского файла. Используйте Python для автоматизации всего процесса: экспортируйте данные в файл и импортируйте данные в таблицу.

...