ETL总结

ETL总结


简介

数据开发工作的一个重点就是ETL。分为三部分:

  • E: 从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中。抽取可以通过ODBC的方式建立数据库链接来直接抽取,也可以将数据导出为txt/xls文件,再加载到新的库当中;
  • T: 清洗、转换数据(最耗费时间);
  • L: 将数据写入DW(Data Warehousing,数据仓库)中去;

ETL的实现方式有如下几种:

  1. 当数据源与DW为同种类型数据库时,可直接建立数据库链接、并复制源数据。但这种方式容易对数据库造成较大负载压力;
  2. 将源数据库的数据导出为文本文件,利用FTP协议进行传输导入数据仓库;
  3. 使用软件工具,例如Kettle、Informatic等的ODBC建立不同类型数据库间的连接,再传导数据;

下面引用一段特别好的话:

现在有很多成熟的工具提供ETL功能,且不说他们的好坏。从应用角度来说,ETL的过程其实不是非常复杂,这些工具给数据仓库工程带来和很大的便利性,特别是开发的便利和维护的便利。但另一方面,开发人员容易迷失在这些工具中。举个例子,VB是一种非常简单的语言并且也是非常易用的编程工具,上手特别快,但是真正VB的高手有多少?微软设计的产品通常有个原则是“将使用者当作傻瓜”,在这个原则下,微软的东西确实非常好用,但是对于开发者,如果你自己也将自己当作傻瓜,那就真的傻了。ETL工具也是一样,这些工具为我们提供图形化界面,让我们将主要的精力放在规则上,以期提高开发效率。从使用效果来说,确实使用这些工具能够非常快速地构建一个job来处理某个数据,不过从整体来看,并不见得他的整体效率会高多少。问题主要不是出在工具上,而是在设计、开发人员上。他们迷失在工具中,没有去探求ETL的本质。可以说这些工具应用了这么长时间,在这么多项目、环境中应用,它必然有它成功之处,它必定体现了ETL的本质。如果我们不透过表面这些工具的简单使用去看它背后蕴涵的思想,最终我们作出来的东西也就是一个个独立的job,将他们整合起来仍然有巨大的工作量。大家都知道“理论与实践相结合”,如果在一个领域有所超越,必须要在理论水平上达到一定的高度。
原文:https://blog.csdn.net/yanjiangdi/article/details/78426015


工具

Kettle

Kettle是一款国外免费开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。其最大的优势在于免费。

kettle可以实现从不同数据源(excel、数据库、文本文件等)获取数据,然后将数据进行整合、转换处理,可以再将数据输出到指定的位置(excel、数据库、文本文件)等;

通过kettle处理大量数据非常方便,如果window服务器或者Linux服务器硬件一般情况下,对于处理千万级以下的数据都是可以的;

Informatica PowerCenter

等等收费软件,暂时没有使用过…


Demo

复制MySQL的表
DB-DB/Excel-DB

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值