Sqoop概述

sqoop

        Sqoop 是传统数据库与 Hadoop 之间数据同步的工具,它是 Hadoop 发展到一定程度的必然产物,它主要解决的是传统数据库和Hadoop之间数据的迁移问题。这节课我们将详细介绍 Sqoop 这个工具。

 

Sqoop 产生背景

        Sqoop 的产生主要源于以下几种需求: 

        1、多数使用 Hadoop 技术处理大数据业务的企业,有大量的数据存储在传统的关系型数据库(RDBMS)中。 

        2、由于缺乏工具的支持,对 Hadoop 和 传统数据库系统中的数据进行相互传输是一件十分困难的事情。 

        3、基于前两个方面的考虑,亟需一个在 RDBMS 与 Hadoop 之间进行数据传输的项目。

 

Sqoop 是什么

        Sqoop 是连接传统关系型数据库和 Hadoop 的桥梁。它包括以下两个方面: 

        1、 将关系型数据库的数据导入到 Hadoop 及其相关的系统中,如 Hive和HBase。

        2、 将数据从 Hadoop 系统里抽取并导出到关系型数据库。

        Sqoop 的核心设计思想是利用 MapReduce 加快数据传输速度。也就是说 Sqoop 的导入和导出功能是通过 MapReduce 作业实现的。所以它是一种批处理方式进行数据传输,难以实现实时的数据进行导入和导出。

 

为什么选择 Sqoop

        我们为什么选择 Sqoop 呢?通常基于三个方面的考虑:

        1、它可以高效、可控地利用资源,可以通过调整任务数来控制任务的并发度。另外它还可以配置数据库的访问时间等等。

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

        3、它支持多种数据库,比如,Mysql、Oracle和PostgreSQL等等数据库。

Sqoop1与Sqoop2的比较

  1、sqoop1和sqoop2是两个不同的版本,它们是完全不兼容的。

  2、版本划分方式:Apache 1.4.x 之后的版本属于sqoop1,1.99.x之上的版本属于sqoop2.

  3、与sqoop1相比,sqoop2有以下优势:

    1)它引入的sqoop Server,便于集中化的管理Connector或者其它的第三方插件;

    2)多种访问方式:CLI、Web UI、REST API;

    3)它引入了基于角色的安全机制,管理员可以在sqoop Server上配置不同的角色。

以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!

原文地址:https://www.cnblogs.com/zimo-jing/p/9204597.html