Hive ORDER BY查询导致错误

时间:2015-06-13 00:28:10

标签: sql hadoop parallel-processing hive

我有这个查询工作:

SELECT movieid, COUNT(movieid)
FROM rating
GROUP BY movieid

但是当我尝试添加订单时,我收到错误:

SELECT movieid, COUNT(movieid)
FROM rating
GROUP BY movieid
ORDER BY count(movieid) DESC;

 Hive Internal Error: java.lang.NullPointerException(null)

我知道SQL查询适用于sqldeveloper。 由于我还需要子集,我创建了一个嵌套循环(使用desc limit并没有工作),但这不起作用:

SELECT *
FROM
(SELECT movieid, COUNT(movieid)
FROM rating
GROUP BY movieid
ORDER BY count(movieid) DESC
) 
where ROWNUM <= 200;

我主要只想通过工作来获得订单,然后我将进入下一步,看看子集部分是否有效。任何想法为什么我得到nullpointexception错误?

由于

1 个答案:

答案 0 :(得分:3)

改为使用别名:

SELECT movieid, COUNT(movieid) as cnt
FROM rating
GROUP BY movieid
ORDER BY cnt DESC;

Hive(由于一些莫名其妙的原因)不允许order by中的聚合函数。这让我了解了我在Hive中编写的大约一半的查询。慢慢地,我记得。 。