大数据学习之十五——sqoop的安装和使用

Posted M_study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据学习之十五——sqoop的安装和使用相关的知识,希望对你有一定的参考价值。

1.概念了解

sqoop主要用于hadoop与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如:MYSQL,Oracle,Postgrep等)中的数据导到hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

2.sqoop的安装

(1)将压缩包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.jar放在Linux的路径下,并修改配置文件/etc/profile

export SQOOP_HOME=该压缩包所在路径

export PATH=$PATH:$SQOOP_HOME/bin

(2)更新环境变量的值

source /etc/profile

检验是否安装成功:输入sqoop ,显示提示说明安装成功。

(3)下载mysql的连接jar包,放在sqoop的家目录的lib目录下。

安装后验证:

sqoop list-databases --connect jdbc:mysql://本地IP:3306/ --username root --password root123

若显示数据库,说明安装完成。

3.sqoop的使用

sqoop支持很多对数据库的操作,比如查看数据库,查看数据表,对数据的导入导出,导入所有的表。当然用的最多的还是export和import两个指令对数据库和hadoop数据进行导出导入。

(1)利用sqoop数据从mysql中导入到hdfs
 现在数据库中建立一个employee的表,字段有id,name,age,place,entry_time,position
,然后再填充一些数据。

运行命令格式:sqoop import --connect jdbc:mysql://本地IP:3306/数据库name   --username root --password 123456 --table 表名--target-dir  hdfs中的路径  -m 1

sqoop import --connect jdbc:mysql://master:3306/liu  --username root --password 123456 --table employees --target-dir /input/sqoop/sqoop_employees  -m 1

需要注意的是:要导入到hdfs中的目录不能提前存在。

 

(2)将数据从hdfs导出到mysql中

将hdfs中的数据/input/f.txt导入到数据库中:

执行命令格式:

#sqoop export --connect jdbc:mysql://本地IP地址:3306/数据库名字 --username root --table 表格的名字 --export-dir \'hdfs中的路径\' --fields-terminated-by \',\'

#sqoop export --connect jdbc:mysql://192.168.59.128:3306/db01 --username root --password  linux  --table table03 --export-dir \'/input/f.txt\' --fields-terminated-by \',\'

其中数据库db01,table03都是提前存在的,并且table03的属性是对应hdfs中的数据的。

 

以上是关于大数据学习之十五——sqoop的安装和使用的主要内容,如果未能解决你的问题,请参考以下文章

大数据学习之sqoop

大数据学习之Kafka消息队列31

嘉明的云计算与大数据学习之大数据综合实验案例

大数据学习之ubuntu的基础操作

大数据学习之MapReduce基础与Yarn集群安装09

大数据学习之Storm实时计算概述及安装部署33