在 Java SDK 中订购 BigQuery 结果

Ordering BigQuery Results in Java SDK

我正在尝试借助 google 云 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,一切似乎都很好。

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

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

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