概述
Sqoop用来实现关系型数据库、HDFS、Hive之间的导入和导出
1、下载Sqoop1.4.6
地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
2、使用tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz解压
3、使用vim /etc/profile
添加以下环境变量:
export SQOOP_HOME=/chenjie/sqoop-1.4.6.bin__hadoop-2.0.4-alpha
export PATH=$PATH:$SQOOP_HOME/bin
4、将mysql驱动放入sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib目录下
地址:https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.44.tar.gz 记得将jar包解压出来
5、使用Sqoop
5.1 使用Sqoop导入Mysql表到HDFS(事先启动Hadoop)
./sqoop import --connect jdbc:mysql://pc1:3306/chenjie --username root --password root --table student --columns 'id,name' -m 1 --target-dir /sqoop/student
其中,./sqoop为启动sqoop命令,import 表示导入,--connect参数为数据库连接地址,jdbc表示使用jdbc,mysql表示mysql数据库,pc1为装有mysql的host名称,chenjie为数据库名称,--username root 表示用户名为root --password root表示密码为root --table表示要导的表名 --columns 'id,name'表示要导的列名 -m 1 表示使用一个mapreduce
--target-dir /sqoop/student 表示要导到HDFS的目标目录
可以看到在mysql中存在chenjie数据库,其中有student表
执行操作
执行完成:查看HDFS
5.2 使用Sqoop从mysql导数据到hive
导之前,hive中show tables
导入
./sqoop import --hive-import --connect jdbc:mysql://pc1:3306/chenjie --username root --password root --table student --columns 'id,name' -m 1 --hive-table student
再使用hive show tables
数据导出导入成功
5.3 使用Sqoop从mysql导数据到hive 并使用where条件
./sqoop import --hive-import --connect jdbc:mysql://pc1:3306/chenjie --username root --password root --table student --columns 'id,name' -m 1 --hive-table student2 --where 'id=1001'
5.4 使用Sqoop从mysql导数据到hive 并使用查询条件(注意:参数中没有--table AND $CONDITIONS必须这么写)
./sqoop import --hive-import --connect jdbc:mysql://pc1:3306/chenjie --username root --password root --columns 'id,name' -m 1 --query 'select * from student where id < 1002 AND $CONDITIONS' --target-dir /sqoop/student3 --hive-table student3
5.5 使用Sqoop从hive(实际上存在HDFS中 )导出到mysql中
首先删掉mysql中stundent数据库中的数据,可以看到已经没有数据
然后执行
./sqoop export --connect jdbc:mysql://pc1:3306/chenjie --username root --password root -m 1 --table mystudent --export-dir /sqoop/student3
完成后mysql中添加3条记录
最后
以上就是爱笑野狼为你收集整理的ubuntu 安装使用 Sqoop1.4.6 + hive 2.3.0的全部内容,希望文章能够帮你解决ubuntu 安装使用 Sqoop1.4.6 + hive 2.3.0所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复