У меня есть большие файлы csv и файлы excel, где я их читаю и создаю необходимый скрипт таблицы создания динамически в зависимости от полей и типов, которые он имеет. Затем вставьте данные в созданную таблицу.Вставить большой объем данных в BigQuery через библиотеку bigquery-python
Я прочитал this и понял, что должен отправить их с jobs.insert()
вместо tabledata.insertAll()
для большого количества данных.
Так я его называю (работает для небольших файлов, не больших).
result = client.push_rows(datasetname,table_name,insertObject) # insertObject is a list of dictionaries
При использовании библиотеки push_rows он дает эту ошибку в окнах.
[Errno 10054] An existing connection was forcibly closed by the remote host
и это в ubuntu.
[Errno 32] Broken pipe
Так что, когда я прошел через BigQuery-Python код использует table_data.insertAll()
.
Как это сделать с помощью этой библиотеки? Я знаю, что мы можем загружать через хранилище Google, но мне нужен прямой метод загрузки.
Вы просто добавить ссылку на ОП ?! –
упс, исправление рекурсии! –
@FelipeHoffa gsutil можно использовать внутри кода python? Возникли некоторые проблемы с типами столбцов, когда вы напрямую указываете путь к файлу csv и загружаете его. поэтому я могу прочитать csv и соответственно направить поля. Не существует способа вставить объект (может быть список словарей) в таблицу после того, как я их брошу? –