Hive 表名的最大字符限制是多少?
What is Hive Tablename maximum character limit?
无法找到关于 Hive Table 最大字符限制的 suitable 规范。
我正在开发涉及配置单元 table 的 ETL 过程,这些过程指定了格式为 _ 的命名约定,并且提供的 table 名称相当大超过 30 字节(pl/sql 的正常限制),直接 google 搜索让我得到列名限制但没有关于 tablename.
的信息
Apache Hive 是开源的。 源代码 Veritas.
以分支 2.1 为例,Javadoc and the Java source for "Metastore API" -- as well as the Thrift message format -- 管理 table 名称作为通用字符串。没有具体限制。
但是 Metastore 服务使用 RDBMS 作为后端,你可以看到标准 MySQL schema 定义了
CREATE TABLE IF NOT EXISTS `TBLS` (
...
`TBL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
...
请注意,此 128 个字符的拉丁字母限制是设置 Hive 时的默认值。之后一个简单的 ALTER TABLE
命令就足以在数据库级别更改该限制,而无需重新编译任何内容。
注意配置单元 table 名称在较新的配置单元版本中似乎大于 128 个字符。看到这个 link:
http://community.cloudera.com/t5/Batch-SQL-Apache-Hive/Hive-naming-limits/m-p/80155#M2886
- Table名字是256个字符
- 列名称为 767 个字符
无法找到关于 Hive Table 最大字符限制的 suitable 规范。
我正在开发涉及配置单元 table 的 ETL 过程,这些过程指定了格式为 _ 的命名约定,并且提供的 table 名称相当大超过 30 字节(pl/sql 的正常限制),直接 google 搜索让我得到列名限制但没有关于 tablename.
的信息Apache Hive 是开源的。 源代码 Veritas.
以分支 2.1 为例,Javadoc and the Java source for "Metastore API" -- as well as the Thrift message format -- 管理 table 名称作为通用字符串。没有具体限制。
但是 Metastore 服务使用 RDBMS 作为后端,你可以看到标准 MySQL schema 定义了
CREATE TABLE IF NOT EXISTS `TBLS` (
...
`TBL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
...
请注意,此 128 个字符的拉丁字母限制是设置 Hive 时的默认值。之后一个简单的 ALTER TABLE
命令就足以在数据库级别更改该限制,而无需重新编译任何内容。
注意配置单元 table 名称在较新的配置单元版本中似乎大于 128 个字符。看到这个 link: http://community.cloudera.com/t5/Batch-SQL-Apache-Hive/Hive-naming-limits/m-p/80155#M2886
- Table名字是256个字符
- 列名称为 767 个字符