【问题标题】:Is there maximum size of string data type in Hive?Hive 中是否有字符串数据类型的最大大小?
【发布时间】:2016-05-04 00:36:21
【问题描述】:

Google 了很多,但在任何地方都找不到。或者这是否意味着只要允许集群,Hive 就可以支持任意大字符串数据类型?如果是这样,我在哪里可以找到我的集群可以支持的最大字符串数据类型?

提前致谢!

【问题讨论】:

    标签: hadoop hive bigdata


    【解决方案1】:

    Hive 的当前文档将 STRING 列为有效数据类型,与 VARCHARCHAR 不同,请在此处查看官方 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) 作为您建议的链接。
    【解决方案2】:

    默认情况下,Hive 的列元数据不指定 STRING 列的最大数据长度。

    驱动有参数DefaultStringColumnLength,默认为255最大值。

    将此参数设置为最大大小的连接字符串如下所示:jdbc:hive2://localhost:10000;DefaultStringColumnLength=32767;

    (https://github.com/exasol/virtual-schemas/issues/118)

    "在 Hive 生活的“宽松”世界中,它可能不拥有数据文件并且必须灵活地选择文件格式,Hive 依赖于分隔符的存在单独的字段。另外,Hadoop 和 Hive 强调优化磁盘读写性能,其中固定列值的长度相对不重要。”来自

    https://learning.oreilly.com/library/view/programming-hive/9781449326944/ch03.html#Collection-Data-Types

    【讨论】:

      猜你喜欢
      • 2019-08-03
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 2017-01-28
      • 2018-05-25
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多