如何在Hive中存储二进制数据?

时间:2014-08-12 05:57:00

标签: hive

我正在学习Hive。

有人可以给我一个关于如何在Hive中存储二进制数据(例如图像)的示例查询。

提前致谢...

1 个答案:

答案 0 :(得分:1)

在Hive中,您将文件存储在HDFS中并添加元数据以告知Hive您在文件中的每个位置等待哪种字段(文本文件中的分隔符和分隔符,不同二进制格式的行...)

您可以生成自己的输出并将其与输入和输出格式一起使用。可以将图像转换为BASE64,例如附件并使用TextFile ....很多可能性,但不是“查询”来存储图像。

你可以继续使用TextFile示例但不是“最佳方法”,即具有以下格式的文件:

1;image1.jpg;65400;<BASE64_DATA>

加载蜂巢:

CREATE TABLE img_store(
   id INT
   , filename STRING
   , size BIGINT
   , data STRING
);
LOAD DATA INPATH '/where/your/file/is/in/HDFS' 
INTO TABLE img_Store;

如果使用Hive +0.8版本,可以在表定义中使用DataType BINARY并加载它。

问候。