我通过 Google Apps 脚本将数据从 Google BigQuery 数据库加载到 Google 电子表格中。直到最近,我已经成功加载了超过 3000 行数据...但现在已限制为仅 513 行。当我在 BigQuery 中运行相同的查询时,我能够获取实际的 3000 行数据。
我的代码:
函数作业(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = "RAW";
var sheet = ss.getSheetByName(sheetName);
ss.setActiveSheet(sheet);
var sql = ' BigQuery code';
var results = GSReport.runQueryAsync(sql);
var resultsValues = GSReport.parseBigQueryAPIResponse(results);
sheet.clear();
var data = [];
data.push([ "InstallWeek","Event","Users"]);
for ( var i = 0 ; i < resultsValues.length ; i++ ) {
data.push(resultsValues[i]);
}
var range =sheet.getRange(1,1,data.length,data[0].length); range.setValues(数据);
}
最佳答案
您在问题中遗漏了很多魔法(例如“runQueryAsync”的作用是什么?)。也就是说,可能发生的情况是您只读取一页数据。您应该能够在发出查询时设置最大结果大小。请参阅此处记录的 maxResults 字段:https://developers.google.com/bigquery/docs/reference/v2/jobs/query .
最近发生这种变化的原因是我们不小心将一页返回的默认查询结果数量减少到了 512 个,以与其他 API 保持一致。不过,我们应该很快会再次增加这个数字。
关于google-apps-script - 为什么通过 Google Apps 脚本加载到 Bigquery 的数据仅限于 513 行数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21785215/