什么是Hive表名最大字符数限制?

时间:2018-07-30 14:35:07

标签: apache hive bigdata hql etl

找不到有关Hive表最大字符限制的合适规范。

我正在开发一个ETL流程,其中涉及配置格式为 _且指定了命名约定的配置单元表,并且所提供的表名大于30字节(pl / sql的正常限制),谷歌搜索使我受到列名限制,但没有表名信息。

3 个答案:

答案 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)

  • 表名是256个字符
  • 列名是767个字符

Information Source

答案 2 :(得分:0)

请注意,在较新的配置单元版本中,配置单元表名称似乎大于128个字符。看到这个链接: http://community.cloudera.com/t5/Batch-SQL-Apache-Hive/Hive-naming-limits/m-p/80155#M2886