Hive:Select *命令与RDBMS的工作方式不同

时间:2014-09-16 06:48:20

标签: hive hiveql

我安装了 apache hive-0.9.0 并开始执行一些基本命令,我在select *命令中发现了一个异常行为。在*之后的select语句中,在hive中允许任何随机字符,但在 RDBMS 中则不允许。我不确定它在蜂巢中的预期行为或错误。有人可以确认一下吗?

在下面的查询" abcdef"是随机字符。

在RDBMS(oracle)中:

select *abcdef from mytable;  

输出

  

错误prepare()失败:ORA-00923:未找到FROM关键字

在Hive中

select *abcdef from mytable;  

输出:
查询工作正常,并显示mytable的所有记录。

2 个答案:

答案 0 :(得分:0)

在RDBMS中,select后跟列名/ *,但在HIVE中,它可能是列名/ * /任何正则表达式(分区)。

浏览此链接 http://www.qubole.com/5-tips-for-efficient-hive-queries/ 它提供了完整的描述

答案 1 :(得分:0)

我从apache hive committe得到了回应。它确实是蜂巢中的一个错误。他们为这个问题提交了一张改进票 Jira Ticket:https://issues.apache.org/jira/browse/HIVE-8155