ETL是数据仓库中非常重要的一环,是承前启后的必要步骤。ETL负责将分布式、异构数据源的数据,如关系数据、平面数据文件提取到临时中间层,进行清理、转换和集成,最后加载到数据仓库或数据集市中,成为在线分析处理和数据挖掘的基础。下面介绍一下ETL及其三个常用工具(Datastage、Informatica、Kettle)。
1.什么是1?ETL?
ETL,英文Extract-Transform-Load的缩写,用来描述从源到目的地提取、转换和加载数据的过程。(数据仓库结构)流行的说法是从数据源中提取数据,进行清理、处理和转换,然后加载到定义的数据仓库模型中。目的是整合企业中零散、杂乱、不统一的数据,为企业决策提供分析依据。ETL是商业智能项目的重要组成部分,其设计影响生成数据的质量,直接关系到商业智能项目的成败。
2.为什么要使用ETL工具?
当数据来自不同的物理主机时,使用SQL语句处理数据更加困难,成本也更高。
数据源可以是不同的数据库或文件,因此在处理数据之前需要将它们排列成统一的格式。用代码实现这个过程显然很麻烦。
当然,我们可以使用存储过程来处理数据库中的数据,但是在处理海量数据时,存储过程显然很困难,会占用更多的数据库资源,这可能会导致数据资源不足,从而影响数据库的性能。
以上问题可以通过ETL工具解决。它的优点是:
●支持各种异构数据源的连接。(部分)
●图形界面操作非常方便。
●处理海量数据速度快,流程更清晰。
3.介绍3。ETL工具
操作
它们相对简单易用,主要得益于开发人员对工具的熟练程度。Informatica有四个开发管理组件,我们需要打开其中的三个进行开发。Informatica没有Ctrl+Z的功能,如果要在做了修改后撤销作业,是不可能回到修改前的。相比于Kettle和Datastage,测试调试不方便。Datastage的所有操作都在同一个界面,不用切换界面就可以看到数据源。比Informatica更方便你发现bug。水壶在两者之间。
部署
Kettle只需要JVM环境,Informatica需要服务器和客户端安装,而Datastage部署比较耗时,有点难度。
数据处理速度
在数据量较大的情况下,Informatica和Datastage的处理速度相对较快且稳定。水壶的处理速度比较慢。
服务
Informatica和Datastage有很好的商业技术支持,而Kettle没有。商业软件的售后服务会比免费开源软件好很多。
风险
风险与成本成反比,与技术能力成正比。
扩大
凯特尔的可扩展性无疑是最好的,因为它是开源代码,可以自行开发和扩展功能,而Informatica和Datastage基本不作为商业软件。
作业监控
三者都有监控和记录工具。在数据监控方面,个人认为Datastage的实时监控更好,可以直观的看到数据提取的情况,以及在哪个控件上运行。对于调优,我们可以更快地定位和处理处理速度太慢的控件,而informatica有相应的功能,但不直观,需要比较两个界面来定位处理速度慢的控件。有时候有一些方法可以找到它。
互联网上的技术文件
Datastage <。Informatica <。凯特尔,相对来说,Datastage和Informatica遇到问题在网上找到解决方案的概率更低,而凯特尔更多。
5.项目经验分享
多个表的同步和重复操作:在项目中,我们经常需要将生产库的表同步到数据仓库。一百多张表的同步重复操作,对开发者来说是一个对细心和耐心的考验。在这种情况下,开发人员最喜欢的工具无疑是kettle,多个表的同步可以由同一个程序运行,不需要为每个表的同步构建一个程序。informatica虽然提供了批量设计的工具,但是还是需要生成多个程序来逐个配置,datastage在这方面比较笨拙。
增量表:在做增量表的时候,每次运行后都需要把将最新的一条数据操作时间存到数据库中,下次运行我们就取大于这个时间的数据。Kettle有控件可以直接读取数据库中的这个时间置为变量;对于没有类似功能控件的informatica,我们的做法是先读取的数据库中的这个时间存到文件,然后主程序运行的时候指定这个文件为参数文件,也可以得到同样的效果。增量表:在制作增量表时,需要在每次运行后将最新的数据操作时间保存到数据库中,我们将在下一次运行中获取大于该时间的数据。Kettle有一个控件,可以直接读取数据库中的这个时间,并将其设置为变量;对于没有类似功能控件的informatica,我们的做法是先读取数据库中的时间并保存到一个文件中,然后在主程序运行时将这个文件指定为参数文件,也可以得到同样的效果。
有句话说得好:世上没有最好的,只有合适的!每种ETL工具都有其优缺点。我们需要根据实际项目选择合适的ETL工具,权衡利弊。如今,越来越多的公司及其客户更加关注最新的数据(实时数据)呈现。传统的ETL工具可能无法满足这种需求,但实时流数据处理和云计算技术更符合这种需求。所以我们也需要与时俱进,学习大数据时代的ETL工具。
1.《stage ETL常用的三种工具介绍及对比Datastage,Informatica》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《stage ETL常用的三种工具介绍及对比Datastage,Informatica》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1019379.html