配置单元表名的最大字符限制是多少?

qxsslcnc  于 2021-06-26  发布在  Hive
关注(0)|答案(3)|浏览(363)

找不到有关配置单元表的最大字符限制的合适规范。
我正在开发一个etl过程,其中包含hive表,它们指定了格式为的命名约定,并且提供的表名远远大于30字节(pl/sql的正常限制),一个直接的google搜索让我得到了列名限制,但没有关于tablename的信息。

v440hwme

v440hwme1#

注意:在较新的配置单元版本中,配置单元表名似乎大于128个字符。请参见此链接:http://community.cloudera.com/t5/batch-sql-apache-hive/hive-naming-limits/m-p/80155#m2886

bxpogfeg

bxpogfeg2#

表名为256个字符
列名为767个字符
信息来源

mlmc2os5

mlmc2os53#

apachehive是开源的。在源代码veritas中。
以Branch2.1为例,javadoc和“MetastoreAPI”的java源代码——以及thrift消息格式——将表名管理为通用字符串。没有具体的限制。
但是metastore服务使用rdbms作为后端,您可以看到标准mysql模式定义了

CREATE TABLE IF NOT EXISTS `TBLS` (
...
 `TBL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
...

请注意,设置配置单元时,拉丁字母表中的128个字符限制是默认值。平原 ALTER TABLE 之后的命令足以在数据库级别更改该限制,而无需重新编译任何内容。

相关问题