如何从HDFS获取和查看oracle BLOB(Image)数据到本地系统?

时间:2016-06-07 14:32:05

标签: java oracle hadoop sqoop

我已将图像文件存储为oracle数据库中的BLOB,并使用以下Sqoop命令将文件传输到HDFS -

sqoop import --connect jdbc:oracle:thin:@hostname --username -password --m 5 --table table_name  --target-dir '' --split-by id;

现在我想查看本地系统中的图像文件。但是在将文件从HDFS传输到我的本地系统后,我只能查看一些十六进制代码,而不是图像。

我尝试使用Java代码将十六进制代码转换为Base64字符串。但不成功。

文件的示例输入:

47 49 46 38 39 61 00 05 87 02 f7 00 00 00 00 00 00 00 33 00 00 66 00 00 99 00 00 cc 00 00 ff 00 2b 00 00 2b 33 00 2b 66 00 2b 99 00 2b cc 00 2b ff 00 55 00 00 55 33 00 55 66 00 55 99 00 55 cc ........

是否有任何Sqoop命令可以直接将oracle的BLOB存储为HDFS作为图像(.jpg / .jpeg)?或者,如果有任何替代解决方案?

1 个答案:

答案 0 :(得分:0)

部分答案可以在这里找到

Re-parsing Blob data stored in HDFS imported from Oracle by Sqoop

基本上解析为像avro这样的二进制格式。

然后使用

之类的内容将字段流式传输到本地系统

How to view an image from blob column in Oracle with JasperReports?

相关问题