Sqoop数据迁移

一、什么是Sqoop?

 

二、从RDB导入数据到HDFS-1

三、安装教程

1.下载

2.将压缩包塞到虚拟机里面

3.解压 

tar -zxf sqoop-1.4.6-cdh5.14.2.tar.gz 

4.移动

5.进入到conf文件 

6.复制sqoop-env-template.sh 文件叫sqoop-env.sh

cp sqoop-env-template.sh sqoop-env.sh

7.修改文件

 

8. 进入到lib目录(/opt/soft/sqoop146/lib/)塞四个文件

一个java-json,一个mysql驱动

 另外两个从hadoop和hive中cp

cp /opt/soft/hadoop260/share/hadoop/common/hadoop-common-2.6.0-cdh5.14.2.jar /opt/soft/sqoop146/lib/

cp /opt/soft/hive110/lib/hive-jdbc-1.1.0-cdh5.14.2-standalone.jar /opt/soft/sqoop146/lib/

 9.配置环境变量并启动一下

vim /etc/profile
export SQOOP_HOME=/opt/soft/sqoop146
export PATH=$PATH:$SQOOP_HOME/bin
source /etc/profile

10.验证配置是否有问题

 11.简单连一下数据库

sqoop list-tables --username root --password 1112 --connect jdbc:mysql://192.168.64.192:3306/hive

 12.测试sqoop能不能连接hive

在mysql 里面随便创个表

 打开hive,创建database

 使用sqoop命令将mysql的表塞到hive里面

sqoop create-hive-table --connect jdbc:mysql://192.168.64.192:3306/mydemo --table userinfos --username root --password 1112 --hive-database myexp

 在hive里面看一下是否导入

 以上内容只负责导入表结构

13浅浅导一下表内容

sqoop import --connect jdbc:mysql://192.168.64.192:3306/mydemo --table userinfos --username root --password 1112 --fields-terminated-by ',' --hive-import --hive-database myexp -m 1

如果上面的导入的数据是null,我们就将设置分隔符的语句删除

sqoop import --connect jdbc:mysql://192.168.64.192:3306/mydemo --table userinfos --username root --password 1112 --hive-import --hive-database myexp -m 1

或者也可以用这种方法

也可以写成这种格式

 在新表中塞入自己查询的数据

sqoop import \
--connect jdbc:mysql://192.168.64.192:3306/mydemo \
--username root \
--password 1112 \
--target-dir /us \
--delete-target-dir \
--query 'select u.userid,u.username,s.score from userinfos u inner join scores s on u.userid =s.userid where s.score>90 and $CONDITIONS' \
--fields-terminated-by ',' \
-m 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值