有没有人知道在Hive中没有下划线的列别名的语法?在SQL和MYSQL中,您可以使用单引号或括号。这在Hive中似乎不起作用。这是一个不起作用的简单查询:
select inbound_handled as 'IB Handled'
from shdev.cust_data
答案 0 :(得分:4)
语法为:
select inbound_handled as `IB Handled`
from shdev.cust_data
在Hive版本0.12.0及更早版本中,列名称只能包含字母数字和下划线字符。
在Hive版本0.13.0及更高版本中,默认情况下,可以在反引号(`)中指定列名,并包含任何Unicode字符(HIVE-6013)。在由反引号分隔的字符串中,除了双重反引号(“`”)代表一个反引号字符外,所有字符都按字面处理。可以通过将hive.support.quoted.identifiers
设置为none
来使用0.13.0之前的行为,在这种情况下,将反引号名称解释为正则表达式。有关详细信息,请参阅支持列名称中的带引号的标识符。
请参阅此处的文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterColumn