我是靠谱客的博主 爱笑野狼,最近开发中收集的这篇文章主要介绍ubuntu 安装使用 Sqoop1.4.6 + hive 2.3.0,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部