数据抽取工具调研
1.数据抽取简述
数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。从数据库中抽取数据一般有以下几种方式。
(1)全量抽取
全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并转换成自己的ETL工具可以识别的格式。全量抽取比较简单。
(2)增量抽取
增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。在ETL使用过程中。增量抽取较全量抽取应用更广。如何捕获变化的数据是增量抽取的关键。对捕获方法一般有两点要求:准确性,能够将业务系统中的变化数据按一定的频率准确地捕获到;性能,不能对业务系统造成太大的压力,影响现有业务。目前增量数据抽取中常用的捕获变化数据的方法有:
- 触发器
- 时间戳
- 全表对比。
数据抽取解决方案
下面将会对比几种常见的数据抽取工具。每一种都有根据官网Demo进行验证。
1.sqoop
sqoop是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。
input:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统
output:从 Hadoop 的文件系统中导出数据到关系数据库 mysql
优点:
- sqoop可以高效的可控的利用资源,比如它可以通过调整任务数&