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