【问题标题】:Parquet Binary Data typeParquet 二进制数据类型
【发布时间】:2015-04-02 21:41:23
【问题描述】:

我有一个关于二进制数据类型的问题。我正在尝试为我的 MR 作业编写 Parquet Schema 来创建 Parquet 文件,而不是让 Hive 或 Impala 创建一个。我看到了一些在 Parquet 中看不到的对 Binary 类型的引用

二进制是 BYTE_ARRAY 的别名吗?

UTF-8 也是二进制数据类型的默认编码吗?

【问题讨论】:

    标签: impala parquet


    【解决方案1】:

    原始字节以固定长度字节数组 (FIXED_LEN_BYTE_ARRAY) 或可变长度字节数组 (BYTE_ARRAY,也称为二进制) 形式存储在 Parquet 中。当您具有恒定大小的值时使用固定,例如 SHA1 哈希值。大多数时候,使用可变长度版本。

    字符串被编码为带有 UTF8 类型注释的可变长度二进制文件,以指示如何将原始字节解释回字符串。 UTF8 是该格式中唯一支持的编码,但并非所有二进制文件都使用 UTF8,因为并非所有二进制字段都存储字符串数据。

    【讨论】:

      【解决方案2】:

      parquet-column 中没有称为 BYTE_ARRAY 的数据类型。 我在最新包中看到了他们的 PrimitiveType,但看不到。 也无法以二进制形式写入 byte[]。

      【讨论】:

      • 提供更多描述或指向更多详细信息的链接
      • 最后我可以用 Parquet 中的 Primitive 类型支持的二进制类型/固定 len 字节数组类型编写 byte[]。 github.com/apache/parquet-format 不要与 BYTE_ARRAY 类型混淆。我认为他们的意思是 FIXED_LEN 一个,因为没有专门的 BYTE_ARRAY 。 BYTE_ARRAY 对应 Parquet 中的二进制
      猜你喜欢
      • 2014-11-01
      • 1970-01-01
      • 2012-03-18
      • 2022-01-14
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 2018-10-27
      • 2019-02-15
      相关资源
      最近更新 更多