使用sqoop迁移blob到Hive表

sqoop是一款开源的关系型数据库到Hadoop的迁移工具,对于通用的数据类型,如数值类型、字符类型、日期类型等sqoop可以提供无缝地迁移到Hadoop平台。但对于特殊类型,如LOB,使用sqoop迁移则有所限制。
对于CLOB,如xml文本,sqoop可以迁移到Hive表,对应字段存储为字符类型。
对于BLOB,如jpg图片,sqoop无法直接迁移到Hive表,只能先迁移到HDFS路径,然后再使用Hive命令加载到Hive表。迁移到HDFS后BLOB字段存储为16进制形式。本文我们介绍如果使用sqoop迁移Oracle中带blob字段的表到相应地Hive表。

1 首先,假设我们已经有现成的Oracle环境,且Oracle中有一张带BLOB(存储图片)字段的表,如t_blob。关于演示如何存储图片到Oracle表中,可参考我的另外一篇博客:使用plsql往Oracle的blob插入图片

2 其次,假设我们有现成的Hadoop集群且装有sqoop,我们验证sqoop可以正常访问Oracle环境并能访问上述带BLOB的表。关于如果配置sqoop与Oracle的连接,可以参考博客:Sqoop1 从Oracle往Hive迁移数据

sqoop-list-tables --driver oracle.jdbc.OracleDriver --connect jdbc:oracle:thin:@10.10.10.7:1521/orcl --username itlr --password itlr

3 现在我们可以使用sqoop的import命令来把带BLOB的表抽取到指定的HDFS路径下

sqoop-import --connect jdbc:oracle:thin:@10.10.10.7:1521/orcl --username itlr --p
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值