在Java SDK中订购BigQuery结果

时间:2019-02-20 11:17:44

标签: java google-bigquery google-cloud-sdk

我正试图在Google Cloud SDK的帮助下从BigQuery获取排序结果。

查询如下:

SELECT * FROM `table`
            |WHERE id = 111
            |ORDER BY time DESC

然后我创建并运行作业:

Job job = QueryJobConfiguration.newBuilder(query)
            .setUseLegacySql(false)
            .build()

问题是,当我实际获取结果时,我无序接收它们:

TableResult results = job.getQueryResults()
results.iterateAll()

如果我在BigQuery UI中运行原始查询,一切似乎都很好。

任何想法,在什么地方以及为什么洗牌?

1 个答案:

答案 0 :(得分:0)

问题是,我稍后在查询中添加了 ORDER BY 子句。

仍然,我正在使用相同的jobId访问该作业。 这使得BigQuery可以获取先前的结果(未排序)。 更新JobId很有帮助!