google-apps-script - 为什么通过 Google Apps 脚本加载到 Bigquery 的数据仅限于 513 行数据?

标签 google-apps-script google-bigquery

我通过 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/

相关文章:

google-apps-script - 如何使用 for 在 google app script 中对范围求和?

java - BigQueryIO.writeTableRows() 中的 GroupByKey 节点不发出元素

google-bigquery - Apache 光束 : Transform an objects having a list of objects to multiple TableRows to write to BigQuery

apache-spark - 如何通过 Spark SQL 连接 BigQuery?

sql - BigQuery - 连接谓词中不支持带表的子查询

authentication - 如何将谷歌应用程序脚本发布到云端供公众使用?

javascript - 如何使用谷歌脚本在电子表格中插入多行

google-apps-script - 如何同步调用google apps脚本服务器端函数?

javascript - CacheService.putAll 忽略超过某个值的键

google-bigquery - QueryResponse.getJobComplete() false 表示尚未完成或失败?