ETL
ETL抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。
ETL工具常用的有哪些?
ETL常用工具:
informatica : 闭源的,可处理亿级别数据量,收费软件,要有充足的学习准备才能使用好。(informatica公司的power center)
kettle : 开源的,免费的,支持中文,容易上手,部署简单,可高效处理千万级别以下数据
datastage : 闭源的,最专业的etl工具,常用于银行,价格不菲
比较 Kettle informatica
优势
1、完全免费
2、容易部署,只需要安装Java环境
3、入门相对简单
4、容易找到资料、文档、技术支持社区等 1、相对安全
2、效率较高
3、工作稳定,大量抽数时较少有遗漏问题
4、日志监控非常详细
劣势
1、大量抽数时相对不稳定
2、BUG较多,但不影响具体使用
3、内存占用率大,有时会无响应等
4、基于Java,借住JVM,效率较低
5、记录日志不是非常详细,但是足够信息反馈 1、需要付费使用
2、需要占用比较多的资源
特性
1、开源软件
2、支持非常广泛的数据库,文件,另外可以通过插件扩展
3、无服务端,部署相对简单,也可以部署集群
4、底层结构方面,主从结构明显 1、商业软件
2、支持各种数据源
3、客户端(5个) 服务端分离
4、底层结构方面:分布式
市场使用情况 1、大部分公司使用
2、在亚洲地区使用率比较高 1、少数公司使用
2、全球型ETL工具
etl调度:
通过定时任务来确定一个job的执行频率、周期,有依赖关系时它们的执行顺序。
串行:有依赖关系A的结果决定B的结果B的结果决定C的结果,如果其中一个步骤错误那么该程序需要 立即停止。
并行:几个job之间没有依赖关系。
ETL多用在数据仓库,那么数据仓库是什么?
和数据库有什么区别和联系
数据仓库是面向主题,集成的,反映历史变化的,稳定的数据集合
区别:
数据仓库(OLAP)和数据库(OLTP)的区别
数据库 | 数据仓库 |
---|---|
面向事务设计 | 面向主题设计 |
存储在线交易数据(实时数据) | 历史数据 |
为捕获数据 | 为分析数据 |
存储数据不强调时间性 | 强调时间属性 |
细节的 | 综合的或者提炼的 |
实时变化的 | 相对稳定的 |
具体技术 | 结构体系 |
用户多 | 用户少 |
一次操作一个单元 | 一次操作一个集合 |
性能要求高,响应时间短 | 性能要求宽松 |
一次操作数据量小 | 数据量大 |
实体-关系 | 星型模型或雪花模型 |