我正在学习Hive。
有人可以给我一个关于如何在Hive中存储二进制数据(例如图像)的示例查询。
提前致谢...
答案 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并加载它。
问候。