我有sqoop,flume和spark安装在我的系统,但我不知道如何导入图像文件。我能够使用sqoop成功地从rdbms导入数据,并且能够使用flume导入文本文件。如何在hdfs上导入图像?
wlp8pajw1#
hadoop没有文件类型的概念(比如windows),所以您可以使用任何工具将图像导入hadoop。如果blob列中有图像,则使用sqoop。flume支持二进制数据,因此可以使用blobdeserializer。blobdeserializer程序此反序列化程序为每个事件读取一个二进制大对象(blob),通常为每个文件读取一个blob。例如pdf或jpg文件。请注意,这种方法不适用于非常大的对象,因为整个blob都缓冲在ram中。在hdfs中,基本命令 -put 或者 -copyFromLocal 会有用的。
-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 $
或者可以使用webhdfsapi远程执行此操作。参考文献:将blob(图像)从oracle导入到hivehttps://flume.apache.org/flumeuserguide.html#blobdeserializerhttps://hadoop.apache.org/docs/stable/hadoop project dist/hadoop hdfs/webhdfs.html#创建Š并将Š写入Š文件
1条答案
按热度按时间wlp8pajw1#
hadoop没有文件类型的概念(比如windows),所以您可以使用任何工具将图像导入hadoop。
如果blob列中有图像,则使用sqoop。
flume支持二进制数据,因此可以使用blobdeserializer。
blobdeserializer程序
此反序列化程序为每个事件读取一个二进制大对象(blob),通常为每个文件读取一个blob。例如pdf或jpg文件。请注意,这种方法不适用于非常大的对象,因为整个blob都缓冲在ram中。
在hdfs中,基本命令
-put
或者-copyFromLocal
会有用的。或者可以使用webhdfsapi远程执行此操作。
参考文献:
将blob(图像)从oracle导入到hivehttps://flume.apache.org/flumeuserguide.html#blobdeserializerhttps://hadoop.apache.org/docs/stable/hadoop project dist/hadoop hdfs/webhdfs.html#创建Š并将Š写入Š文件