tableData.list()的BigQuery分页问题

时间:2013-12-12 15:06:23

标签: google-bigquery

我们正在尝试使用tableData.list从BigQuery表加载120,000行。我们的第一个电话,

  

https://www.googleapis.com/bigquery/v2/projects/ {myProject的} /数据集/ {myDataSet} /表/ {myTable的} /数据?的maxResults = 90000

按预期返回pageToken和第一行22482(1到22482)行。我们假设这是由于10mb序列化的JSON限制。然而,我们的第二个电话,

  

https://www.googleapis.com/bigquery/v2/projects/ {myProject的} /数据集/ {myDataSet} /表/ {myTable的} /数据的maxResults = 90000&安培; pageToken = CIDBB777777QOGQIBCIL6BIQSC7QK ===

不返回下一行,而是返回从行900001到112137的22137行,没有pageToken。 奇怪的是,如果我们将maxResults更改为100,000,我们将获得从100,000开始的行。

我们可以使用startRowIndex来解决这个问题。在这种情况下,我们从第一个调用startRowIndex = 0开始,我们永远不会在响应中获得pageToken。我们一直打电话直到检索完所有行。但是,问题是没有pageTokens,如果在进行调用时行顺序发生变化,则数据可能无效。

我们能够在具有不同大小和结构的多个表上重现此行为。

分页有问题,还是我们应该以不同的方式构建我们的呼叫?

1 个答案:

答案 0 :(得分:0)

这是一个已知的高优先级错误。这已得到修复。