Python BigQuery API::能够插入CSV数据,但BigQuery中的数据反射不及时

Python BigQuery API::能够插入CSV数据,但BigQuery中的数据反射不及时,python,google-app-engine,csv,google-bigquery,Python,Google App Engine,Csv,Google Bigquery,为googleappengine使用python脚本将CSV数据上传到Bigquery。使用Windows 7上Eclipse的PyDev透视图进行编码 insert是成功的,但在BigQuery中,有时数据会立即插入,有时需要几个小时才能反映出来 j={ 'kind': 'bigquery#insertRequest', 'jobReference': {'projectId': '#######'}, 'configuration': { 'load': { 'so

googleappengine
使用python脚本将
CSV数据
上传到
Bigquery
。使用Windows 7上Eclipse的
PyDev
透视图进行编码

insert
是成功的,但在BigQuery中,有时数据会立即插入,有时需要几个小时才能反映出来

j={
'kind': 'bigquery#insertRequest',
'jobReference': {'projectId': '#######'},
'configuration': {
    'load': {

        'sourceFormat': 'CSV',
        'destinationTable': {'projectId': '############',
                             'tableId': '###########',
                             'datasetId': '##########'},

        'allowJaggedRows': True,

        'sourceUris': ['gs://bucket_naem/file_name'],
        'skipLeadingRows': 1,
        'schema': {'fields': [
                               {'type':'Data_Type','name':'Col1_name'},
                               {'type':'Data_Type','name':'Col2_name'}

                             ]
                   },
        },
    },
}


response = service.jobs().insert(projectId = "##########",body = j).execute()

BigQuery加载作业是异步的,这就是它立即返回的原因。insert()调用返回后,它将为您提供一个作业id。然后您可以使用该作业id查找作业的状态。一旦该作业成功完成,您的数据应立即可用


如果导入需要几个小时,这是意外的(除非您要导入大量数据);如果是这种情况,请提供一个工作id,我们(BigQuery工程师)可以在日志中查找发生的情况。

对于花费比预期时间更长的工作,您是否有工作id?谢谢Jordan,您的建议很有帮助。代码中的架构定义中存在错误。现在问题解决了。在python或java中是否有任何方法可以将Google Drive中的csv/excel文件直接插入Bigquery?请记住,存储在驱动器中时,数据首先根据Bigquery进行格式化。