【发布时间】:2016-05-04 00:36:21
【问题描述】:
Google 了很多,但在任何地方都找不到。或者这是否意味着只要允许集群,Hive 就可以支持任意大字符串数据类型?如果是这样,我在哪里可以找到我的集群可以支持的最大字符串数据类型?
提前致谢!
【问题讨论】:
Google 了很多,但在任何地方都找不到。或者这是否意味着只要允许集群,Hive 就可以支持任意大字符串数据类型?如果是这样,我在哪里可以找到我的集群可以支持的最大字符串数据类型?
提前致谢!
【问题讨论】:
Hive 的当前文档将 STRING 列为有效数据类型,与 VARCHAR 和 CHAR 不同,请在此处查看官方 apache 文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-Strings
对我来说,STRING 确实是它自己的类型并不是很明显,但如果你向下滚动,你会看到一些与其他不同的情况。
虽然可能不具有权威性,但此页面表明STRING 的最大长度为 2GB。 http://www.folkstalk.com/2011/11/data-types-in-hive.html
【讨论】:
STRING类型,并且由于我使用Hive的ODBC接口,我可以从ODBC视图中看出STRING被最大尺寸的ODBC驱动程序映射为SQL_VARCHAR 2147483647 kb (2GB) 作为您建议的链接。
默认情况下,Hive 的列元数据不指定 STRING 列的最大数据长度。
驱动有参数DefaultStringColumnLength,默认为255最大值。
将此参数设置为最大大小的连接字符串如下所示:jdbc:hive2://localhost:10000;DefaultStringColumnLength=32767;
(https://github.com/exasol/virtual-schemas/issues/118)
"在 Hive 生活的“宽松”世界中,它可能不拥有数据文件并且必须灵活地选择文件格式,Hive 依赖于分隔符的存在单独的字段。另外,Hadoop 和 Hive 强调优化磁盘读写性能,其中固定列值的长度相对不重要。”来自
【讨论】: