欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Sqoop

程序员文章站 2022-06-17 19:59:53
简介 Sqoop是一款开源工具,主要用于Hadoop(HDFS、Hbase、HIVE)与传统数据库(Mysql、Oracle、Postgresql)间进行数据的传递。 它可以将一个关系型数据库中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中 背景 Sqoop最早是作 ......

简介

sqoop是一款开源工具,主要用于hadoop(hdfs、hbase、hive)与传统数据库(mysql、oracle、postgresql)间进行数据的传递。

它可以将一个关系型数据库中的数据导入到hadoop的hdfs中,也可以将hdfs的数据导入到关系型数据库中

Sqoop

  • 背景

Sqoop

sqoop最早是作为hadoop的一个第三方模块,后来为了让开发者能够快速部署,也为了让开发人员能够更加快速迭代开发,sqoop独立成为了一个apache的项目

sqoop专为大数据批量传输设计,能够分割数据集并创建hadoop任务来处理每个区块。

  • 基本原理

    • 从关系型数据库到hadoop

      1. 用户的sqoop脚本最终会编程提交到yarn上的一个个map任务
      2. 通过sqoop,用户可以将数据从rdb抽取至hdfs。输入端是关系型数据库中的某张表,sqoop会一行一行的把数据从这张表里读出来写到hdfs;输出端是hdfs上关于这个表的文件集合

      注意:只有map没有reduce

      ​ 由于整个抽取etl过程是并行化的,因此输出端会有多个文件。输出的文件可以指定分隔符、换行符等于分界符。

Sqoop