Parquet 二进制数据类型

use*_*133 2 impala parquet

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

二进制是 BYTE_ARRAY 的别名吗?

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

小智 7

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

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