Sqoop简介
Sqoop旨在协助RDBMS与Hadoop之间进行高效的大数据交流。可以把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中;同时也可以把数据从 Hadoop 系统里抽取并导出到关系型数据库里。
Sqoop是一个在结构化数据和Hadoop之间进行批量数据迁移的工具,结构化数据可以是MySQL、Oracle等RDBMS。Sqoop底层用MapReduce程序实现抽取、转换、加载,MapReduce天生的特性保证了并行化和高容错率。
如果要用Sqoop,必须正确安装并配置Hadoop,因依赖于本地的Hadoop环境启动MR程序;MySQL、Oracle等数据库的JDBC驱动也要放到Sqoop的lib目录下。
Sqoop架构
Sqoop1和Sqoop2的对比
Sqoop1架构

Sqoop2架构

对比分析
① 在架构上,Sqoop1仅仅使用一个Sqoop客户端;Sqoop2引入了Sqoop Server,对Connector实现了集中的管理,其访问方式也变得多样化了,其可以通过REST API、JAVA API、WEB UI以及CLI控制台方式进行访问。
② 在安全性能方面,在Sqoop1中我们经常用脚本的方式将HDFS中的数据导入到MySQL中&

Sqoop 是一个用于Hadoop与RDBMS间批量数据迁移的工具,通过MapReduce实现数据抽取、转换和加载。Sqoop1与Sqoop2在架构上有显著区别, Sqoop2引入了Sqoop Server,提供了更丰富的访问方式和更完善的安全机制。在导入工作原理中,Sqoop通过获取元数据、启动MapReduce作业,并依据split-by参数并行处理数据。导出时, Sqoop根据数据库连接选择导出方法,生成Java类并启动MapReduce作业,执行批量insert语句,实现高效数据写入。
最低0.47元/天 解锁文章
445

被折叠的 条评论
为什么被折叠?



