数据迁移工具Sqoop
来源:海牛大数据 时间:2020-12-10 16:34:29 编辑:简单
从传统的数据库存储到大数据背景下的数据平台系统存储,不同数据库系统之间的数据迁移,是需要解决的一个重要问题。在大数据技术生态下,Sqoop作为数据迁移工具,应用程度还是比较高的。今天我们就来讲讲数据迁移工具Sqoop。
Sqoop可以理解为HadoopHadoop环境下连接关系数据库与Hadoop存储系统的桥梁,支持多种关系型数据源和Hive、HDFS、Hbase的相互导入。
具体来说,Sqoop 支持全表导入,也支持增量数据导入机制,Sqoop工作机制利用MapReduce分布式批处理,加快数据传输速度和容错性,在Hadoop生态集群当中,具有很高的友好性。
Sqoop工作原理
Sqoop利用MapReduce并行特点以批处理的方式加快数据传输,从而提供并发特征和容错。Sqoop主要通过JDBC连接关系型数据库,理论上只要关系型数据库支持JDBC都可以使用Sqoop与HDFS进行数据交互。
Sqoop从关系型数据库导入HDFS:
用户先输入一个Sqoop import 命令,Sqoop会从关系型数据库中获取元数据信息,包括库信息、表有哪些字段及字段类型等,获取信息后会将导入命令转换为基于Map的MapReduce任务。会开启很多Map任务,每个Map任务读取一部分数据,多个Map任务并行完成数据复制到HDFS分布式文件系统上。
使用Sqoop增量导入有append 和 lastmodified两种模式,lastmodified模式区别于apend是可以指定一个时间戳字段,按时间顺序导入,这个模型可以指定增量数据在HDFS的方式,比如最终增量结果为一个文件。
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,在完成数据迁移任务上,Sqoop工具的性能还是值得称赞的,尤其从传统数据库到大数据系统的转型,这个工具不可或缺。
海牛大数据专注于大数据课程开发及培训,"因为专注,所以专业"。如果您想要了解更多大数据的知识,您可以浏览我们的网站,我们会为您提供更专业服务。