queryResult显示它有13224行,然后我用了
List<TableRow> rows = queryResult.getRows();
然后,它显示列表“行”仅具有512行。
有什么帮助吗?
最佳答案
如果行很大或有很多行,则可能无法取回所有行。您可以通过调用具有相应偏移量的job.GetQUeryResults()或tabledata.List()来获取剩余的行。
从https://developers.google.com/bigquery/docs/queries:
使用查询字符串调用jobs.query。此方法需要一个可选的超时时间。如果设置为0或未指定,则该方法默认为10秒。
如果查询在指定的超时时间内返回,则该方法将返回结果的第一页。有关其他结果,请如下所述调用job.getQueryResults。
如果查询超时在查询完成之前到期,则该方法将返回jobComplete = false,并且您必须按如下所述调用job.getQueryResults。查询作业即使在超时时间之后也将继续运行,直到成功完成或由于发生错误而结束。
[如有必要]调用jobs.getQueryResults以翻页显示其他结果,以从超过其超时的查询中获取结果,或检查所有查询结果,直到删除临时表为止。通过此方法,您可以指定开始行,并且还可以采用与jobs.query超时相同的超时方式,以在作业尚未完成时等待。