【发布时间】:2014-10-29 14:33:25
【问题描述】:
我正在尝试使用 python api 列出表格中的数据:
tableDataList = tableDataCollection.list(**params).execute(http=http)
允许的参数:
list(projectId=*, datasetId=*, tableId=*, pageToken=None, maxResults=None, startIndex=None)
我收到的错误是:
apiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/bigquery/v2/projects/myproject/queries?alt=json returned "Response too large to return.">
目前我创建了一个查询作业并接收返回的destinationTable,并在该destinationTable 上列出数据(用于性能等)。我读过我可以使用allowLargeResults,但在tabledata.list 或jobs.query 端点上找不到它。我在哪里设置或如何克服问题? 97k 行的数据只有大约 90mb。
更新:
我已将查询更改为使用目标表(带有jobs.insert),然后我可以将allowLargeResults 设置为True。
body = {
'configuration': {
'query': {
'createDisposition': 'CREATE_IF_NEEDED',
'writeDisposition': 'WRITE_TRUNCATE',
'useQueryCache': False,
'allowLargeResults': True,
'destinationTable': {
'projectId': PROJECT_ID,
'datasetId': DATASET_ID,
'tableId': 'tmp_{0}'.format(TABLE_ID),
},
'query': query,
}
}
}
但是,我仍然收到同样的错误:
ResponseTooLarge:响应太大而无法返回。
【问题讨论】:
标签: google-bigquery