Sqoop2将Oracle数据迁移到HDFS

Sqoop 是一个设计用于在 Apache Hadoop 和结构化数据存储(如关系数据库)之间高效地传输大批量数据的工具。Cloudera Manager 支持的版本为 Sqoop 2。

一、添加sqoop2到CDH
Sqoop2将Oracle数据迁移到HDFS
因为我使用的的CDH搭建hadoop集群,所以可以通过cloudera manager添加上sqoop2.

二、把Oracle驱动拷贝到Sqoop安装路径中的lib文件夹下

我的ORACLE 是10G ,找到ojdbc6.jar,放到sqoop 的lib 下面,目录是

/opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/sqoop/lib

/opt/cm-5.10.0/share/cmf/lib/ojdbc6.jar

/var/lib/sqoop2/ojdbc6.jar

三、执行命令
1、root 用户执行:

  sudo -u hdfs hadoop fs -mkdir   /data/zhao/
  在hdfs的data下,创建一个zhao文件夹  

2、切换到hdfs 用户:

   su hdfs  
   执行  export ACCUMULO_HOME=/data

3、执行import操作

   sqoop import --connect jdbc:oracle:thin:@192.168.183.251:1521:YJDSJ --username yjdsj --password yjdsj#123 --table T_LOADS_TODAY --target-dir /data/zhao/heng  --m 1 --columns obj_id,today_load,dept_id    

说明:
导入的目录若已经存在则要先删除已经存在的目录,否则会报路径以存在的错误提示:

FileAlreadyExistsException: Output directoryhdfs://master:8020/user/operate already exists

所以 /data/zhao/heng 这个目录是不存在的

4、查看
Sqoop2将Oracle数据迁移到HDFS
当出现这个页面,表示导入成功
访问HDFS:http://192.168.43.36:50070/
Sqoop2将Oracle数据迁移到HDFS