一、什么是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