我有大量的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并相应地投射字段。我没有一种方法可以在投放它们之后向表格中插入对象(可能是字典列表)? –