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最早是作为hadoop的一个第三方模块,后来为了让开发者能够快速部署,也为了让开发人员能够更加快速迭代开发,sqoop独立成为了一个apache的项目
sqoop专为大数据批量传输设计,能够分割数据集并创建hadoop任务来处理每个区块。
-
基本原理
-
从关系型数据库到hadoop
- 用户的sqoop脚本最终会编程提交到yarn上的一个个map任务
- 通过sqoop,用户可以将数据从rdb抽取至hdfs。输入端是关系型数据库中的某张表,sqoop会一行一行的把数据从这张表里读出来写到hdfs;输出端是hdfs上关于这个表的文件集合
注意:只有map没有reduce
由于整个抽取etl过程是并行化的,因此输出端会有多个文件。输出的文件可以指定分隔符、换行符等于分界符。
-