我有大量的csv文件和excel文件,我在那裏讀取它們並根據它所具有的字段和類型動態創建所需的創建表腳本。然後將數據插入到創建的表中。通過bigquery-python庫插入大量數據到BigQuery
我已閱讀this,並瞭解我應該用jobs.insert()
而不是tabledata.insertAll()
來發送大量數據。
這就是我所說的(適用於較小文件而不是大文件)。
result = client.push_rows(datasetname,table_name,insertObject) # insertObject is a list of dictionaries
當我使用庫的push_rows它在Windows中給出了這個錯誤。
[Errno 10054] An existing connection was forcibly closed by the remote host
and this in ubuntu。
[Errno 32] Broken pipe
所以,當我通過BigQuery-Python代碼去它使用table_data.insertAll()
。
我該怎麼用這個庫來做到這一點?我知道我們可以通過Google存儲上傳,但我需要使用此方法直接上傳。
你只需添加一個鏈接到OP? –
oops,修復遞歸! –
@FelipeHoffa gsutil我可以在python代碼中使用嗎?直接提供csv文件路徑並上傳時存在一些列類型問題。所以我可以閱讀csv並相應地投射字段。我沒有一種方法可以在投放它們之後向表格中插入對象(可能是字典列表)? –