结构数据采集工具Sqoop的安装和使用

导读:本篇文章讲解 结构数据采集工具Sqoop的安装和使用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、简介

  Sqoop是一种用于在Hadoop和结构化数据存储(如关系数据库)之间高效传输大批量数据的工具。比如,Sqoop从关系型数据库管理系统(MySQL、Oracle等)向Hadoop分布式文件系统(HDFS)、Hive或Hbase等中导入数据;或者从Hadoop分布式文件系统、Hive或Hbase等通过Sqoop导入到关系数据库中。

  Sqoop的底层原理本质上是MapReduce任务。Sqoop是通过一个MapReduce作业从数据库中导入一个表,这个作业从表中逐行抽取数据,接着将一行行的数据写入HDFS。
在这里插入图片描述
  Sqoop的导出通常是将HDFS的数据导入到关系型数据库中,关系型数据库中的表必须提前创建好。在底层方面,导出之前,Sqoop会选择导出方法,通常是JDBC,接着Sqoop会生成一个Java类,这个类可以解析文本中的数据,并将相应的值插入表中。在启动MapReduce之后,会从HDFS中读取并解析数据,同时执行选定的导出方法。
  基于JDBC的导出方法会生成多条insert语句,每条insert语句均会向表中插入多条数据,同时为了确保不同I/O的操作可以并行执行,在从HDFS读取数据并与数据库通信时,是多个单独线程同时运行的。
在这里插入图片描述

2、安装部署

1、下载

wget https://mirrors.bfsu.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz --no-check-certificate

2、解压、重命名

tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C ../servers/

cd ../servers/
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop-1.4.7.bin

3、修改配置sqoop-env.sh文件
首先需要把sqoop-env-template.sh修改成sqoop-env.sh,然后增加或修改如下配置即可。

export HADOOP_COMMON_HOME=/export/servers/hadoop-2.7.5
export HADOOP_MAPRED_HOME=/export/servers/hadoop-2.7.5
3、从Mysql导入数据到HDFS

1、复制Mysql的jar包。
因为这里使用的是Mysql数据库,需要把对应的jar包复制到sqoop的lib目录下。
在这里插入图片描述

2、编写导入配置文件

注:需要注意配置文件的格式

import
--connect
jdbc:mysql://192.168.1.87:3306/test
--username
root
--password
123456
--table
user_test
--columns
id,name,age
--where
id>0
--target-dir
hdfs://node01:8020/sqoop
--delete-target-dir
-m
1
--as-textfile
#--null-string

3、执行命令

 ./bin/sqoop --options-file ./job/job1.conf

出现如下日志,说明导入成功。
在这里插入图片描述
这时候,访问hdsf,就可以看见对应的目录。
在这里插入图片描述

4、Sqoop数据导出到Mysql

1、编写配置文件

export
--connect
jdbc:mysql://192.168.1.87:3306/test
--username
root
--password
123456
--table
user_test2
--columns
id,name,age

--export-dir
hdfs://node01:8020/sqoop
-m
1

2、准备user_test2表

3、执行导出命令

 ./bin/sqoop --options-file ./job/job2.conf

出现如下日志,说明导入成功。

在这里插入图片描述

查看数据库表如下:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/68809.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!