Sqoop

简介

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

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

  • 背景

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

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

  • 基本原理

    • 从关系型数据库到hadoop

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

      注意:只有map没有reduce

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

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐