Kettle简介
基于JAVA的ETL工具,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现
Sqoop简介
Apache开源软件,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递。
适用于能与大数据集群直接通信的关系数据库间的大批量数据传输。
对比
| 功能 | Kettle | Sqoop |
|---|---|---|
| 领域 | 数据抽取、转换、加载 | 关系型与非关系型数据库数据迁移 |
| 输入 | 关系型数据库、HDFS、Hbase、Excel、HL7、JSON、RSS、文本文件、等等 | 关系型数据库、非关系型数据库 |
| 输出 | 关系型数据库、Hbase、HDFS、Excel、CSV、等等 | 关系型数据库、非关系型数据库 |
| Hadoop集成度 | 外部工具,需要安装对应版本的插件,仅支持流行的Hadoop发行版 | 属于Hadoop生态圈,启动即用 |
| 适用数据量 | 十万、百万、千万级 | 亿级 |
| 支持系统 | Linux、Windows、Unix | Linux |
| 交互 | 有图形界面 | 没有图形界面 |
| 底层 | 多线程提高效率 | MapReduce |
总结
如果需求只是将关系型数据库数据(Oracle、MySQL)迁移至非关系型数据库(HDFS、Hbase、Hive),推荐使用Sqoop工具,足够满足需求
如果是将不同种类的关系型数据库(Oracle、MySQL、SQL server)整合到同一个关系型数据库中,如MySQL。推荐使用Kettle,有GUI界面操作简单。
