0

作为一个研究项目,我决定通过设置整个 CDH5 环境来使用 Cloudera Impala。然后我决定使用查询数据。由于某种原因,简单的 ORDER BY 不适用于在 Impala SQL 中使用的 GROUP BY 语句。Impala 是否支持此功能?

这是我的查询在没有排序的情况下的样子:

SELECT TO_DATE(time) AS dt
FROM wearable_data
GROUP BY dt 

结果:

0   2014-01-01
1   2014-07-15
2   2014-07-20
3   2014-07-17

现在以下查询不起作用:

SELECT TO_DATE(time) AS dt
FROM wearable_data
GROUP BY dt
ORDER BY dt 
-- ORDER BY 1

结果:

Query 6e4da94e0c586e34:7077273d6337e893 100% Complete (23 out of 23)

解释显示如下:

Estimated Per-Host Requirements: Memory=256.00MB VCores=2
WARNING: The following tables are missing relevant table and/or column statistics.
default.wearable_data

04:EXCHANGE [PARTITION=UNPARTITIONED]
|
03:AGGREGATE [MERGE FINALIZE]
|  group by: to_date(time)
|
02:EXCHANGE [PARTITION=HASH(to_date(time))]
|
01:AGGREGATE
|  group by: to_date(time)
|
00:SCAN HDFS [default.wearable_data]
   partitions=1/1 size=1.44KB

对此有什么想法吗?

4

1 回答 1

3

我认为这是你的问题:

“在 Impala 1.4.0 之前,Impala 要求使用 ORDER BY 子句的查询还包括一个 LIMIT 子句”参考这里

于 2014-07-23T02:51:56.903 回答