(十七)Sqoop的安装配置与基本操作

    Sqoop是用来实现结构型数据(如关系数据库)和Hadoop之间进行数据迁移的工具。它充分利用了MapReduce的并行特点以批处理的方式加快数据的传输,同时也借助MapReduce实现了容错。

一、sqoop下载

下载地址http://mirrors.shu.edu.cn/apache/sqoop/

下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

二、解压配置环境变量

将下载的sqoop传到linux中解压,在.bashrc中配置环境变量

三、修改配置文件

到sqoop中的conf中,复制sqoop-env-template.sh

cp sqoop-env-template.sh sqoop-env.sh

修改sqoop-env.sh的配置文件

到sqoop的bin的configure-sqoop中,注释掉下面的代码

四、查看是否安装成功

sqoop version

五、将mysql驱动复制到sqoop的lib目录

六、Sqoop的操作命令

1、用sqoop将mysql中的表数据导入HDFS中

sqoop import --connectjdbc:mysql://你的数据库ip/数据库名 --username root --password 数据库密码 --table 表名 --target-dir '要传HDFS中的路径' --m 1
--driver com.mysql.jdbc.Driver

例如:我要将mysql中wordpress数据库中的wp_terms表中的数据导入到HDFS中,–m表示MR进程数

 sqoop import --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --table wp_terms --target-dir '/sqoop' --m 1 --driver com.mysql.jdbc.Driver

如果执行上面的命令出现下面的错误

是因为没有将mysql的驱动复制到lib中

等待MR作业完成

如果想要将整个数据库中的表全部导入到hdfs上使用import-all-tables命令

sqoop import-all-tables --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --target-dir '/sqoop' --m 1 --driver com.mysql.jdbc.Driver

如果想要指定所需的列:–columns

 sqoop import --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --table wp_terms --columns '数据名,数据名' --driver com.mysql.jdbc.Driver

2、用sqoop将MySQL中表的数据传到Hive中

加上–hive-import

sqoop import –hive-import  –connect jdbc:mysql://39.108.229.164:3306/wordpress –username root -password 123456 –table wp_terms –columns ‘数据名,数据名’ –driver com.mysql.jdbc.Driver  –hive-table hi

–hive-table hive表名:表示将mysql中的数据导入到hive表名中

–where ‘导入条件’ :可以选择性导入表内容

–query ‘查询语句’:将查询的语句导入

3、用sqoop将Hive中的数据导出

使用export

 sqoop export --connect jdbc:mysql://39.108.229.164:3306/wordpress --username root -password 123456 --table wp_te

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章