码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-02-02 11:55:45      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:linux   height   postgresq   sqoop   data   变量   ...   修改   employee   

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的安装和使用

标签:linux   height   postgresq   sqoop   data   变量   ...   修改   employee   

原文地址:https://www.cnblogs.com/m-study/p/8401023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!