如何使用.net api客户端库从Google BigQuery中选择大型结果集而不进行分页

时间:2015-06-25 10:49:37

标签: google-bigquery google-api-dotnet-client

我正在尝试使用.net客户端库从Google BigQuery中选择大结果集(~200K)。

我一次只能获得~4.5行(请求和响应),Google BigQuery提供 PageToken 来获取下一组结果。我可以通过多个请求选择所有来自大查询的行到Google Bigquery(~50请求和响应)。

我的问题:如果有可能在单一回复中选择大结果集?如果是,请分享您的代码(即使JAVA代码也很好)。

1 个答案:

答案 0 :(得分:1)

无法运行查询并在单次拍摄中选择较大的响应。您可以对结果进行分页,也可以创建要导出到文件的作业,然后使用应用程序中生成的文件。出口是免费的。

步骤运行大型查询并将结果导出到存储在GCS上的文件:

1)在作业配置中将allowLargeResults设置为true。您还必须使用allowLargeResults标志指定目标表。

示例:

"configuration": 
  {
    "query": 
    {
      "allowLargeResults": true,
      "query": "select uid from [project:dataset.table]"
      "destinationTable": [project:dataset.table]

    }
  }

2)现在您的数据位于您设置的目标表中。您需要创建一个新作业,并将export property设置为export the table到文件。导出是免费的,但您需要激活Google云端存储才能将结果文件放在那里。

3)最后,您从GCS下载大文件。