利用 Sqoop 对关系型数据库 与 非关系型数据库,分布式等数据库之间进行数据迁移

基本流程图如下:

利用 Sqoop 对关系型数据库 与 非关系型数据库,分布式等数据库之间进行数据迁移_第1张图片



命令如下:

将用sqoop导入Oracle数据到HDFS
./sqoop import --connect jdbc:oracle:thin:@192.168.146.128:1521:orcal -- username scoot --passwd tiger --table emp --columns 'empno, ename, job, sal, deptno' -m 1 --target -dir '/sqoop/emp'

使用sqoop导入oracle数据到hive中,
./sqoop import --hive-import --connect jdbc:oracle:[email protected]:1521:orcl --username scott --password tiger --table emp -m 1 --columns 'empno, ename, job, sal, deptno' --hive-table emp1 

使用sqoop导入oracle数据到hive中,并使用where
./sqoop import --hive-import --connect jdbc:oracle:[email protected]:1521:orcl --username scott --password tiger --table emp -m 1 --columns 'empno, ename, job, sal, deptno' --hive-table emp2 --where 'DEPTNO=10'

使用sqoop导入Oracle数据到hive中,并使用查询语句
./sqoop import --hive-import --connect jdbc:oracle:[email protected]:1521:orcl --username scott --password tiger -m 1 --query 'select * from rmp where sal < 2000 AND $CONDITIONS' --target-dir '/sqoop/emp5' --hive-table emp5

使用sqoop将hive中的数据导出到Oracle中
./sqoop export --connect jdbc:oracle:[email protected]:1521:orcl --username scott --password tiger -m 1 --table MYEMP --export-dir "/usr/tools/"



【注】:此处如果使用其他数据库进行数据迁移,只需要修改其中的某些参数就可以了。

你可能感兴趣的:(利用 Sqoop 对关系型数据库 与 非关系型数据库,分布式等数据库之间进行数据迁移)