我对二进制数据类型有疑问。我正在尝试为我的MR作业编写一个Parquet Schema来创建Parquet文件,而不是让Hive或Impala创建一个。我看到一些二进制类型的引用,我在Parquet
中没有看到二进制是BYTE_ARRAY的别名吗?
同样,UTF-8是二进制数据类型的默认编码吗?
答案 0 :(得分:4)
原始字节存储在Parquet中,可以是固定长度字节数组(FIXED_LEN_BYTE_ARRAY),也可以是可变长度字节数组(BYTE_ARRAY,也称为二进制)。当您具有常量大小的值(如SHA1哈希值)时,将使用Fixed。大多数情况下,使用可变长度版本。
使用UTF8类型注释将字符串编码为可变长度二进制,以指示如何将原始字节解释为字符串。 UTF8是格式中唯一支持的编码,但不是每个二进制文件都使用UTF8,因为并非所有二进制字段都存储字符串数据。
答案 1 :(得分:1)
镶木地板列中没有称为BYTE_ARRAY的数据类型。 我在最新的软件包中看到了他们的PrimitiveType,但看不到它。 同样也无法以二进制形式写入byte []。