我在代码中写了bigquery。 我想获得更大的结果。
我还设置了属性 allowLargeResult:true ,但我仍然得到错误:响应太大而无法返回。考虑在作业配置中将allowLargeResults设置为true。有关更多信息,请参阅http S://cloud.google.com/bigquery/troubleshooting-errors
这是我的Node.js代码:
var google = require('googleapis');
var bigquery = google.bigquery('v2');
var authClient = new google.auth.JWT(
'arjun-dev@mybank-bigquery.iam.gserviceaccount.com',
'keyA.pem',
null, ['https://www.googleapis.com/auth/bigquery']);
var request2 = {
projectId: 'project-bank',
jobId:'job_LHMRhoUfM038QA4jPZHaOESI3Uo',
startIndex: 0,
maxResults: 100000,
timeoutMs: 10000,
configuration:{
allowLargeResults: true
},
auth: authClient
};
var list1 = bigquery.jobs.getQueryResults(request2, function(err, result) {
if (err) {
console.log("### 2 " + err);
} else {
console.log(result);
res.send(result);
}
});
请帮忙!
答案 0 :(得分:1)
您的结果可能太大而无法返回并且您缺少目标表,因为当您将allowLargeResults
设置为true时,这是必需的,因为您无法返回大结果,而是需要写入目标表。如果您以后想要获取数据,则需要将表导出到GCS,然后从GCS下载。
返回大型查询结果
通常,查询的最大响应大小为128 MB压缩。如果您计划运行可能返回较大结果的查询,则可以在作业配置中将allowLargeResults
设置为true。
返回大结果的查询需要更长的时间才能执行,即使结果集很小,也会受到其他限制: