主页 > 新闻资讯 > 大数据培训:数据迁移组件Sqoop工具

大数据培训:数据迁移组件Sqoop工具

作者:张老师 浏览次数: 2021-07-16 17:28
在传统的数据存储管理上,多是以关系型数据库为主,而到了大数据时代,大数据生态下的数据存储,更多青睐非关系型数据库,而传统的数据库数据要导入到大数据系统平台,就需要相应的工具。今天的大数据培训学习,我们来讲讲数据迁移组件Sqoop工具。

大数据培训:数据迁移组件Sqoop工具

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,它是Hadoop环境下连接关系数据库与Hadoop存储系统的桥梁,支持多种关系型数据源和Hive、HDFS、Hbase的相互导入。支持全表导入,也支持增量数据导入机制,Sqoop工作机制利用MapReduce分布式批处理,加快了数据传输速度和容错性。

Sqoop优势:

1、可以高效的利用资源,可以通过调整任务数来控制任务的并发度。

2、可以自动地完成数据类型映射与转换。导入的数据是有类型的,它可以自动根据数据库中的类型转换到Hadoop中,当然也可以自定义他们的映射关系。

3、支持多种数据库,eg:mysql、Oracle、PostgreSQL。

Sqoop工作原理:

Sqoop利用MapReduce并行特点以批处理的方式加快数据传输,从而提供并发特征和容错。Sqoop主要通过jdbc连接关系型数据库,理论上只有关系型数据库支持JDBC都可以使用Sqoop与HDFS进行数据交互。

1、Sqoop从关系型数据库导入HDFS的原理:用户先输入一个Sqoop import命令,Sqoop会从关系型数据库中获取元数据信息,包括库信息、表有哪些字段及字段类型等,获取信息后会将导入命令转换为基于Map的MapReduce任务。会开启很多map任务,每个map任务读取一部分数据,多个map任务并行完成数据复制到HDFS分布式文件系统上。

2、Sqoop导出功能原理:用户输入export命令,Sqoop会获取关系型数据表结构信息,建立与Hadoop字段有关系型数据库表字段的映射关系,将命令转换为基于Map的MapReduce作用,生产很多Map任务,并行地从HDFS中读取数据文件,将这个数据复制到数据库中。

Sqoop版本和架构

Sqoop存在两个版本,1.4.x和1.99.x,通常简称为sqoop1和sqoop2。

Sqoop1架构师使用Sqoop客户端直接提交的方式,访问方式是CLI控制台方式进行访问,在命令或脚本中指定数据库名及密码。

Sqoop2架构引入了Sqoop Server,集中化管理Connector,提供多种访问方式,如CLI、Web UI、REST API,同时Sqoop2通过CLI方式访问会有一个交互式界面,使输入的密码信息不被看到。

Sqoop不仅可以用于关系型数据库与HDFS文件系统之间进行数据转换,也可以将数据从关系型数据库传输至Hive或Hbase,而对于数据从Hive或者Hbase传输到关系型数据库来说,则可以从Hive或者Hbase将数据提取至HDFS,然后使用Sqoop将上一步的输出导入到关系数据库。

使用Sqoop增量导入有append和lastmodified两种模式,lastmodified模式区别于apend是可以指定一个时间戳字段,按时间顺序导入,这个模型可以指定增量数据在HDFS的方式,比如最终增量结果为一个文件。

需要在应用的主要参数:

-check-column:指定增量导入的依赖字段,通常为自增的主键id或者时间戳

-incremental:指定导入模式(append或者lastmodified)

-last-value:指定导入的上次最大值,也是这次的开始值。

关于大数据培训,数据迁移组件Sqoop工具,以上就为大家做了基本的介绍了。在Hadoop大数据生态下,Sqoop还是很好用的,对于这个组件,还是值得去学一学的。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频,可联系客服获取!
热点排行
推荐文章
立即申请>>