0
我为BigQuery使用Google Cloud Node库。我使用的是createQueryStream method从BigQuery的数据流:Google BigQuery节点库:如何分批流式传输数据?
var query = 'SELECT transfer_date, price, postcode FROM ';
query += '[table] ORDER BY transfer_date LIMIT 10000';
bigquery.createQueryStream(query)
.on('error', console.error)
.on('data', function(row) {
console.log(row);
})
.on('end', function() {
// All rows retrieved.
});
这分别输出每一行控制台。不过,我想分批更新我的申请,说每10,000个结果。那么如何修改查询来以10,000个数据块流式传输数据呢?
query method有一个autoPaginate
选项,但我不明白如何使用它。
或者我是否需要手动编写一个函数来触发每个10,000行?但是这似乎效率很低。
谢谢。尽管如此,这不会在请求中返回最多10,000行吗?我想处理数百万行,但每次有10,000行可用时,在客户端代码中触发一个事件。 – Richard
我已经更新了答案。 ** maxResults **参数控制在分页过程中每个页面要包含多少条记录。我已经运行了一个快速测试,看起来您只能在查询中使用LIMIT子句控制** createQueryStream **方法中的记录总数。 ** maxApiCalls **和** maxResults **仅影响内部分页。 –