Я пытаюсь перенести csv-файлы из Google Cloud Storage (GCS), которые были экспортированы из BigQuery, в экземпляр SQL-облака PostgreSQL Google с использованием скрипта python.
Я надеялся использоватьGoogle API, но обнаружил это в документации :
Импорт данных CSV с использованием API-интерфейса Cloud SQL Admin не поддерживается для экземпляров PostgreSQL.
AsВ качестве альтернативы я мог бы использовать библиотеку psycopg2
и передавать строки файла csv в экземпляр SQL.Я могу сделать это тремя способами
- Строка за строкой: прочитать каждую строку, затем отправить команду вставки и затем зафиксировать
- Пакетный поток: прочитать каждую строку, а затем отправить команды вставки изатем зафиксируйте после 10 строк или 100 и т. д.
- Весь csv: прочитайте каждую строку и отправьте команды вставки, а затем зафиксируйте только в конце документа.
Мои опасенияэти CSV-файлы могут содержать миллионы строк, и выполнение этого процесса для любого из трех упомянутых выше вариантов представляется мне плохой идеей.
Какие альтернативы у меня есть?По сути, у меня есть некоторые необработанные данные в BigQuery, по которым мы выполняем некоторую предварительную обработку перед экспортом в GCS для подготовки к импорту в экземпляр PostgreSQL.Мне нужно экспортировать эти предварительно обработанные данные из BigQuery в экземпляр PostgreSQL.
Это не дубликат этого вопроса , так как я предпочтительно ищу решение, которое экспортирует данные из BigQuery вЭкземпляр PostgreSQL, будь то через GCS или напрямую.