找不到有关Hive表最大字符限制的合适规范。
我正在开发一个ETL流程,其中涉及配置格式为 _且指定了命名约定的配置单元表,并且所提供的表名大于30字节(pl / sql的正常限制),谷歌搜索使我受到列名限制,但没有表名信息。
答案 0 :(得分:3)
Apache Hive是开源的。 在Veritas的源代码中。
例如,对于分支2.1,Javadoc和“ Metastore API”的Java源代码以及Thrift message format-将表名作为通用字符串进行管理。那里没有具体限制。
但是Metastore服务使用RDBMS作为后端,您可以看到标准MySQL schema定义了
CREATE TABLE IF NOT EXISTS `TBLS` (
...
`TBL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
...
请注意,设置Hive时,默认值为128个字符的拉丁字母限制。之后,使用普通的ALTER TABLE
命令就足以在数据库级别更改该限制,而不必重新编译任何内容。
答案 1 :(得分:1)
答案 2 :(得分:0)
请注意,在较新的配置单元版本中,配置单元表名称似乎大于128个字符。看到这个链接: http://community.cloudera.com/t5/Batch-SQL-Apache-Hive/Hive-naming-limits/m-p/80155#M2886