Sqoop简介及安装配置

Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。

核心的功能有两个:导入和导出!

导入数据:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统

导出数据:从 Hadoop 的文件系统中导出数据到关系数据库 mysql 等 Sqoop 的本质还是一个命令行工具,和 HDFS,Hive 相比,并没有什么高深的理论。

sqoop:

工具:本质就是迁移数据, 迁移的方式:就是把sqoop的迁移命令转换成MR程序

hive

工具,本质就是执行计算,依赖于HDFS存储数据,把SQL转换成MR程序

工作原理是将导入或导出命令翻译成 MapReduce 程序来实现 在翻译出的 MapReduce 中主要是对 InputFormat 和 OutputFormat 进行定制

此处使用的是此处使用sqoop-1.4.7版本sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

安装Sqoop

1.通过Xftp把sqoop安装包上传到Linux上并解压
Sqoop简介及安装配置_第1张图片

2.将数据库连接驱动拷贝到$SQOOP_HOME/lib里
Sqoop简介及安装配置_第2张图片
3.修改配置文件
vi /etc/profile

Sqoop简介及安装配置_第3张图片

Sqoop测试

1.使用前准备-mysql允许远程连接 (主要 wifi精灵给关了)
mysql> show databases;
mysql> use mysql;
mysql> update user set host = ‘%’ where user = ‘root’;
mysql> select hosh,user from user;
mysql> flush privileges #刷新权限
或者:
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

2.使用sqoop列出mysql下的所有数据库
[root@hadoop26 ~]# sqoop list-databases --connect jdbc:mysql://localhost:3306 --username root --password root
information_schema
hive
mysql
test

3.将数据库导到hdfs上面
sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password root -table dept
localhost需要改成装mysql主机的ip,test需要改成要导出的数据库的名称,两个root是mysql数据库的用户名和密码
,-table后边跟的是需要导出到hdfs上的表名
Sqoop简介及安装配置_第4张图片
导入到hdfs上可以在50070上查看
Sqoop简介及安装配置_第5张图片

你可能感兴趣的:(大数据)