我正在将数据迁移到Hive 1.2,我意识到,默认情况下,我不再允许使用保留字作为列名。如果要使用保留字,则需要明确设置以下设置:
hive.support.sql11.reserved.keywords=false
我的问题是,更改此默认值会导致任何意外问题吗?在更改之前我应该注意哪些问题?
顺便说一下,此更改记录在此票证中:https://issues.apache.org/jira/browse/HIVE-6617
答案 0 :(得分:5)
此配置属性hive.support.sql11.reserved.keywords
已在Hive 1.2.0中添加HIVE-6617,并在Hive 2.3.0中使用HIVE-14872
它被删除以简化解析器逻辑并减少生成的解析器代码的大小。 有关详细信息,请阅读HIVE-14872中的说明。
考虑到这一点,使用带引号的标识符重写代码(使用反引号)或者更快地重命名标识符。