概述
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上并解压
2.将数据库连接驱动拷贝到$SQOOP_HOME/lib里
3.修改配置文件
vi /etc/profile
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上的表名
导入到hdfs上可以在50070上查看
最后
以上就是清新电脑为你收集整理的Sqoop简介及安装配置的全部内容,希望文章能够帮你解决Sqoop简介及安装配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复