我有一个关于二进制数据类型的问题。我正在尝试为我的MR作业编写Parquet模式,以创建Parquet文件,而不是让Hive或Impala创建一个。我看到一些关于Binary类型的引用,但在Parquet中没有看到它。
二进制是否是BYTE_ARRAY的别名?
此外,UTF-8是否是二进制数据类型的默认编码?
二进制是否是BYTE_ARRAY的别名?
此外,UTF-8是否是二进制数据类型的默认编码?
Parquet中的原始字节可以存储为固定长度的字节数组(FIXED_LEN_BYTE_ARRAY)或可变长度的字节数组(BYTE_ARRAY,也称为二进制)。当您具有大小恒定的值(例如SHA1哈希值)时,使用固定长度。大多数情况下,使用可变长度版本。
字符串被编码为可变长度二进制,并带有UTF8类型注释,以指示如何将原始字节解释回字符串。 UTF8是该格式支持的唯一编码,但并非所有二进制都使用UTF8,因为并非所有二进制字段都存储字符串数据。