如何将图像导入HDFS?我正在使用CDH版本5.11

时间:2017-06-29 11:23:49

标签: hadoop hdfs

我的系统上安装了sqoop,flume和spark,但我不确定如何导入图像文件。

我能够使用sqoop从RDBMS导入数据,并且能够使用flume导入文本文件。

如何在hdfs上导入图像?

1 个答案:

答案 0 :(得分:0)

Hadoop没有文件类型的概念(例如Windows),因此您可以使用任何工具将图像导入Hadoop。

如果BLOB列中有图像,则使用SQOOP。

Flume支持二进制数据,因此您可以使用BlobDeserializer。

  

BlobDeserializer

     

此反序列化器为每个事件读取二进制大对象(BLOB),通常每个文件一个BLOB。例如PDF或JPG文件。请注意,此方法不适用于非常大的对象,因为整个BLOB都缓存在RAM中。

在HDFS中,基本命令-put-copyFromLocal将起作用。

$ hdfs dfs -put about.png /tmp
$ hdfs dfs -ls /tmp/about.png
-rw-r--r--   3 testuser supergroup      53669 2017-06-30 11:34 /tmp/about.png
$

或者您可以使用WebHDFS API远程执行此操作。

参考文献:

Import BLOB (Image) from oracle to hive https://flume.apache.org/FlumeUserGuide.html#blobdeserializer https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Create_and_Write_to_a_File