我的声明如下:
CREATE TABLE my_table (`hello_[3]` INT)
当我尝试通过jdbc或从hue运行它时,我得到:
**AnalysisException: Invalid column/field name: hello_[3]**
尝试其他引用方法会得到相同的结果: CREATE TABLE my_table ('hello_[3]' INT) ^ encountered: string literal expected: identifier
CREATE TABLE my_table ("hello_[3]" INT) ^ encountered: string literal expected: identifier CREATE TABLE my_table ([hello_[3]]] INT) ^ encountered: [ expected: identifier
我运行的是未经修改的cdh5.3.0,jdbc的类型是4.1v2.5.16.1018
澄清一下:我需要能够创建名称中包含方括号的列的表。
1条答案
按热度按时间clj7thdc1#
不幸的是
hello_[3]
不是有效的列名。这是Hive元存储的限制,而不是 Impala 。impala使用配置单元实用程序验证名称。这就是columndesc.java中分析失败的地方:
有关详细信息,请参见metastoreutils.validatename()。