ETL简介
- ETL是英文Extract-Transform-Load的缩写。
- 用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
- 它能够对各种分布的、异构的源数据(如关系数据)进行抽取。
- 按照预先设计的规则将不完整数据、重复数据以及错误数据等“脏"数据内容进行清洗。
- 得到符合要求的“干净”数据,并加载到数据仓库中进行存储。
这些“干净”数据就成为了数据分析、数据挖掘的基石。
ETL重要性
- ETL是实现商务智能(Business Intelligence,BI)的核心。
- 一般情况下,ETL会花费整个BI项目三分之一的时间,因此ETL设计得好坏直接影响BI项目的成败。
ETL工具有哪些
- datastage (收费) 最专业的ETL工具, 2005年被IBM收购,目前发展到11.7版本。
- informatica (收费) informatica创立于1993年,专业程度与Datastage旗鼓相当。
- ODI (收费) oracle数据库厂商提供的工具,有局限性,与oracle数据库耦合太深。
- kettle(免费) Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定,但学习及维护成本太高。
- etl-engine (免费) 用go语言实现的ETL工具,轻量级引擎、跨平台(windows,linux,unix,mac)、可嵌入go语言脚本并解析执行,方便集成到各种项目中
参考资料
代码语言:shell复制 [资源下载](https://github.com/hw2499/etl-engine/releases)
[etl-engine使用手册](https://github.com/hw2499/etl-engine)
[etl-crontab使用手册](https://github.com/hw2499/etl-engine/wiki/etl-crontab调度)
[嵌入脚本开发](https://github.com/hw2499/etl-engine/wiki/嵌入脚本开发)