镶木地板二进制数据类型

时间:2015-04-02 21:41:23

标签: impala parquet

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

中没有看到

二进制是BYTE_ARRAY的别名吗?

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

镶木地板列中没有称为BYTE_ARRAY的数据类型。 我在最新的软件包中看到了他们的PrimitiveType,但看不到它。 同样也无法以二进制形式写入byte []。