2017-07-06 38 views
0

查询:蜂房为了通过不正确的1个递增结果奥德

SELECT DISTINCT seg from mytable ORDER BY 1 ASC导致

+-------+--+ 
| seg | 
+-------+--+ 
| NONE | 
| AFS | 
+-------+--+ 

其中如SELECT DISTINCT seg from mytable ORDER BY seg ASC导致

+-------+--+ 
| seg | 
+-------+--+ 
| AFS | 
| NONE | 
+-------+--+ 

在参考列由位置ORDER BY不受Hive支持?

回答

0

由于Hive 0.11支持按位置排序,但只能从Hive 2.2.0开始默认打开。

https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties

hive.groupby.orderby.position.alias
默认值:FALSE
加入:蜂巢0.11.0与HIVE-581
弃用:蜂巢2.2.0与HIVE-15797
是否启用在查询的GROUP BY和ORDER BY子句中使用列位置别名(不建议使用Hive 2.2.0;请改为使用hive.groupby.position.alias和hive.orderby.position.alias)。


hive.orderby.position.alias
默认值:True
加入:蜂巢2.2.0与HIVE-15797
是否允许在ORDER使用列位置别名通过。

+0

我使用CDH5 quickstart vm 5.10.0-0。 我加入这个配置在/etc/hive/conf/hive-stie.xml hive.orderby.position.alias 真正 加入之后,我通过重新启动蜂巢服务: 服务配置单元-server2停止 服务配置单元-orestore停止。 接着开始。 但我仍然看到相同的问题。可能是什么原因? – sandeep

+0

为了测试它,'set hive.orderby.position.alias = true;'就足够了。 –

+0

感谢它,当我在蜂巢/直线控制台中设置此属性。 – sandeep