我正在尝试使用.net客户端库从Google BigQuery中选择大结果集(~200K)。
我一次只能获得~4.5行(请求和响应),Google BigQuery提供 PageToken 来获取下一组结果。我可以通过多个请求选择所有来自大查询的行到Google Bigquery(~50请求和响应)。
我的问题:如果有可能在单一回复中选择大结果集?如果是,请分享您的代码(即使JAVA代码也很好)。
答案 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下载大文件。