oracle - 将 BLOB(图像)从 oracle 导入到 hive

标签 oracle hadoop hive sqoop

我正在尝试使用以下 Sqoop 命令将 BLOB(图像)数据从 oracle 导入到 Hive。

sqoop import --connect jdbc:oracle:thin:@host --username --password  --m 3 --table tablename  --hive-drop-import-delims  --hive-table tablename --target-dir '' --split-by id;

但是没有成功。请记住,BLOB 数据以十六进制形式存储在 oracle 数据库中,我们需要将其以文本或二进制形式存储到 Hive 表中。

有什么可能的方法来做到这一点?

最佳答案

Sqoop 不知道如何将 oracle 中的 blob 数据类型映射到 Hive 中。所以你需要指定 --map-column-hive COLUMN_BLOB=binary

sqoop import --connect 'jdbc:oracle:thin:@host' --username $USER --password $Password  --table $TABLE  --hive-import --hive-table $HiveTable  --map-column-hive COL_BLOB=binary --delete-target-dir --target-dir $TargetDir  -m 1 -verbose

关于oracle - 将 BLOB(图像)从 oracle 导入到 hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37703129/

相关文章:

hive0.10.0 线程中的异常 "main"java.lang.NoSuchMethodError : org. apache.thrift.EncodingUtils.setBit(BIZ)B

sql - Oracle 模式表名称限制

c# - 连接状态关闭时如何发生 Ora-24309?

oracle - 在 Oracle 中以毫秒为单位的字符串

java - 下载 Oracle 11 的 Adfm.jar

hadoop - HBase 0.94.6-cdh4.5.0 的 hbase-client 或 hbase-common

java - MapReduce 权限 0700 错误

mysql - 编写一个查询,其列名基于 sql 或 hive hql 中的另一个表

java - 如何将hadoop文件导入intelliJ?

java - 如何启动 hiveserver2 作为服务