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