Sqoop的介绍、安装以及使用

sqoop下载地址:https://archive.apache.org/dist/sqoop/1.4.6/

一、Sqoop简介

  sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。

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

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

   导出数据:从 Hadoop 的文件系统中导出数据到关系数据库 mysql 等

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

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

二、Sqoop的安装

  (1) 解压到指定目录:

       tar -zxvf /bigData/software/sqoop-1.4.6.bin__hadoop-0.23 -C /bigData/install/

   (2) 修改配置文件 

       cd /bigData/install/sqoop-1.4.6.bin__hadoop-0.23/conf/

       将sqoop-env-template.sh文件复制一份命名为sqoop-env.sh

       

       修改sqoop-env.sh文件,将相应路径地址都加上:         

       

 (3)配置环境变量

    添加export SQOOP_HOME=/bigData/install/sqoop-1.4.6.bin__hadoop-0.23,在PATH路径下添加$SQOOP_HOME/bin路径。

    

 (4)将mysql对应的jdbc上传到sqoop文件夹的lib目录下。

   

   (5) 验证配置

     sqoop list-databases --connect jdbc:mysql://node1:3306/ --username root --password Gqx123456. (这个是自己数据库的密码)

      

 、使用

 1、将数据库中的数据导入到HDFS文件系统中

   mysql的执行语句如下:

CREATE database test;
use test;
CREATE TABLE student( id int, name varchar(10), PRIMARY KEY(id ));
insert into student values(1,'gqx');
insert into student values(2,'LiSi');
insert into student values(3,'WangWu');

   查询的结果集如下:

     

    输入命令:

       sqoop import --connect jdbc:mysql://node1:3306/test --username root --password Gqx123456. --table student -m 1 --target-dir /usr/local/hadoop/result

    可以看到运行结果中并没有报错:

    

    同时,也可以看到hadoop的hdfs文件系统中会多出对应的文件信息:

   

 2、将HDFS文件系统中的数据导入到mysql中

   在hdfs中上传要处理的数据文件

    

    执行如下命令:

sqoop export --connect jdbc:mysql://node1:3306/test --username root --password Gqx123456. --table student --export-dir /data.txt -m 1 --verbose --fields-terminated-by ','

同样未看到错误提示:

      

     查看mysql数据库中的学生表信息,发现数据成功插入。

      

posted @ 2022-11-29 12:47  晓乎  阅读(584)  评论(0编辑  收藏  举报
总访问: counter for blog 次