大数据etl工具有哪些

大数据etl工具有哪些,第1张

ETL是数据仓库中的非常重要的一环,是承前启后的必要的一步。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。

下面给大家介绍一下什么是ETL以及ETL常用的三种工具——Datastage,Informatica,Kettle。

一、什么是ETL?

ETL,Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。

数据仓库结构

通俗的说法就是从数据源抽取数据出来,进行清洗加工转换,然后加载到定义好的数据仓库模型中去。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。

ETL是BI项目重要的一个环节,其设计的好坏影响生成数据的质量,直接关系到BI项目的成败。

二、为什么要用ETL工具?

在数据处理的时候,我们有时会遇到这些问题:

▶ 当数据来自不同的物理主机,这时候如使用SQL语句去处理的话,就显得比较吃力且开销也更大。

▶ 数据来源可以是各种不同的数据库或者文件,这时候需要先把他们整理成统一的格式后才可以进行数据的处理,这一过程用代码实现显然有些麻烦。

▶ 在数据库中我们当然可以使用存储过程去处理数据,但是处理海量数据的时候存储过程显然比较吃力,而且会占用较多数据库的资源,这可能会导致数据资源不足,进而影响数据库的性能。

而上述遇到的问题,我们用ETL工具就可以解决。ETL工具具有以下几点优势:

1、支持多种异构数据源的连接。(部分)

2、图形化的界面 *** 作十分方便。

3、处理海量数据速度快、流程更清晰等。

三、ETL工具介绍

1、Datastage

IBM公司的商业软件,最专业的ETL工具,但同时价格不菲,适合大规模的ETL应用。

使用难度:★★★★

2、Informatica

商业软件,相当专业的ETL工具。价格上比Datastage便宜一点,也适合大规模的ETL应用。

使用难度:★★

3、Kettle

免费,最著名的开源产品,是用纯java编写的ETL工具,只需要JVM环境即可部署,可跨平台,扩展性好。

使用难度:★★

四、三种ETL工具的对比

Datastage、Informatica、Kettle三个ETL工具的特点和差异介绍:

1、 *** 作

这三种ETL工具都是属于比较简单易用的,主要看开发人员对于工具的熟练程度。

Informatica有四个开发管理组件,开发的时候我们需要打开其中三个进行开发,Informatica没有ctrl+z的功能,如果对job作了改变之后,想要撤销,返回到改变前是不可能的。相比Kettle跟Datastage在测试调试的时候不太方便。Datastage全部的 *** 作在同一个界面中,不用切换界面,能够看到数据的来源,整个job的情况,在找bug的时候会比Informatica方便。

Kettle介于两者之间。

2、部署

Kettle只需要JVM环境,Informatica需要服务器和客户端安装,而Datastage的部署比较耗费时间,有一点难度。

3、数据处理的速度

大数据量下Informatica与Datastage的处理速度是比较快的,比较稳定。Kettle的处理速度相比之下稍慢。

4、服务

Informatica与Datastage有很好的商业化的技术支持,而Kettle则没有。商业软件的售后服务上会比免费的开源软件好很多。

5、风险

风险与成本成反比,也与技术能力成正比。

6、扩展

Kettle的扩展性无疑是最好,因为是开源代码,可以自己开发拓展它的功能,而Informatica和Datastage由于是商业软件,基本上没有。

7、Job的监控

三者都有监控和日志工具。

在数据的监控上,个人觉得Datastage的实时监控做的更加好,可以直观看到数据抽取的情况,运行到哪一个控件上。这对于调优来说,我们可以更快的定位到处理速度太慢的控件并进行处理,而informatica也有相应的功能,但是并不直观,需要通过两个界面的对比才可以定位到处理速度缓慢的控件。有时候还需要通过一些方法去查找。

8、网上的技术文档

Datastage < Informatica < kettle,相对来说,Datastage跟Informatica在遇到问题去网上找到解决方法的概率比较低,kettle则比较多。

五、项目经验分享

在项目中,很多时候我们都需要同步生产库的表到数据仓库中。一百多张表同步、重复的 *** 作,对开发人员来说是细心和耐心的考验。在这种情况下,开发人员最喜欢的工具无疑是kettle,多个表的同步都可以用同一个程序运行,不必每一张表的同步都建一个程序,而informatica虽然有提供工具去批量设计,但还是需要生成多个程序进行一一配置,而datastage在这方面就显得比较笨拙。

在做增量表的时候,每次运行后都需要把将最新的一条数据 *** 作时间存到数据库中,下次运行我们就取大于这个时间的数据。Kettle有控件可以直接读取数据库中的这个时间置为变量;对于没有类似功能控件的informatica,我们的做法是先读取的数据库中的这个时间存到文件,然后主程序运行的时候指定这个文件为参数文件,也可以得到同样的效果

哎,你应该尽量把问题描述清楚一点,否则别人很难帮你找到原因的。你的job是什么类型的server job or parrell job? 你说的报错了是根据什么判断的?红线?还是job log的fatal ?正常运行又是如何判断的?绿线?还是job log 中无错误。建议你仔细检查job log。有事可能job design界面显示为绿线,但是job log中有报错信息的。

前言 在事务处理系统中的数据 主要用于记录和查询业务情况 随着数据仓库(DW)技术的不断成熟 企业的数据逐渐变成了决策的主要依据 数据仓库是一种面向决策主题 由多数据源集成 拥有当前及历史总结数据 以读为主的数据库系统 其目的是支持决策 数据仓库要根据决策的需要收集来自企业内外的有关数据 并加以适当的组织处理 使其能有效地为决策过程提供信息 数据仓库中的数据是从许多业务处理系统中抽取 转换而来 对于这样一个复杂的企业数据环境 如何以安全 高效的方式来对它们进行管理和访问就变得尤为重要 解决这一问题的关键是对元数据进行科学有效的管理 元数据是关于数据 *** 纵数据的进程和应用程序的结构和意义的描述信息 其主要目标是提供数据资源的全面指南 元数据不仅定义了数据仓库中数据的模式 来源以及抽取和转换规则等 而且整个数据仓库系统的运行都是基于元数据的 是元数据把数据仓库系统中的各个松散的组件联系起来 组成了一个有机的整体 本文首先介绍了元数据的定义 作用和意义 然后讨论了数据仓库系统中元数据管理的现状和关于元数据的标准化情况 最后提出了建立元数据管理系统的步骤和实施方法 元数据 元数据的概念按照传统的定义 元数据(Metadata)是关于数据的数据 在数据仓库系统中 元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据 元数据是描述数据仓库内数据的结构和建立方法的数据 可将其按用途的不同分为两类 技术元数据(Technical Metadata)和业务元数据(Business Metadata) 技术元数据是存储关于数据仓库系统技术细节的数据 是用于开发和管理数据仓库使用的数据 它主要包括以下信息 &# ; 数据仓库结构的描述 包括仓库模式 视图 维 层次结构和导出数据的定义 以及数据集市的位置和内容 &# ; 业务系统 数据仓库和数据集市的体系结构和模式 &# ; 汇总用的算法 包括度量和维定义算法 数据粒度 主题领域 聚集 汇总 预定义的查询与报告 &# ; 由 *** 作环境到数据仓库环境的映射 包括源数据和它们的内容 数据分割 数据提取 清理 转换规则和数据刷新规则 安全(用户授权和存取控制) 业务元数据从业务角度描述了数据仓库中的数据 它提供了介于使用者和实际系统之间的语义层 使得不懂计算机技术的业务人员也能够 读懂 数据仓库中的数据 业务元数据主要包括以下信息 使用者的业务术语所表达的数据模型 对象名和属性名 访问数据的原则和数据的来源 系统所提供的分析方法以及公式和报表的信息 具体包括以下信息 &# ; 企业概念模型 这是业务元数据所应提供的重要的信息 它表示企业数据模型的高层信息 整个企业的业务概念和相互关系 以这个企业模型为基础 不懂数据库技术和SQL语句的业务人员对数据仓库中的数据也能做到心中有数 &# ; 多维数据模型 这是企业概念模型的重要组成部分 它告诉业务分析人员在数据集市当中有哪些维 维的类别 数据立方体以及数据集市中的聚合规则 这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式 &# ; 业务概念模型和物理数据之间的依赖 以上提到的业务元数据只是表示出了数据的业务视图 这些业务视图与实际的数据仓库或数据库 多维数据库中的表 字段 维 层次等之间的对应关系也应该在元数据知识库中有所体现 元数据的作用在数据仓库系统中 元数据机制主要支持以下五类系统管理功能 (1)描述哪些数据在数据仓库中 (2)定义要进入数据仓库中的数据和从数据仓库中产生的数据 (3)记录根据业务事件发生而随之进行的数据抽取工作时间安排 (4)记录并检测系统数据一致性的要求和执行情况 (5)衡量数据质量 与其说数据仓库是软件开发项目 还不如说是系统集成项目[ ] 因为它的主要工作是把所需的数据仓库工具集成在一起 完成数据的抽取 转换和加载 OLAP分析和数据挖掘等 如图 所示 它的典型结构由 *** 作环境层 数据仓库层和业务层等组成 其中 第一层( *** 作环境层)是指整个企业内有关业务的OLTP系统和一些外部数据源 第二层是通过把第一层的相关数据抽取到一个中心区而组成的数据仓库层 第三层是为了完成对业务数据的分析而由各种工具组成的业务层 图中左边的部分是元数据管理 它起到了承上启下的作用 具体体现在以下几个方面 &# ; 便于集成&# ; 提高系统的灵活性&# ; 保证数据的质量&# ; 帮助用户理解数据的意义 数据仓库元数据管理现状 元数据管理的主要任务有两个方面 一是负责存储和维护元数据库中的元数据 二是负责数据仓库建模工具 数据获取工具 前端工具等之间的消息传递 协调各模块和工具之间的工作 由以上几节我们了解到元数据几乎可以被称为是数据仓库乃至商业智能(BI)系统的 灵魂 正是由于元数据在整个数据仓库生命周期中有着重要的地位 各个厂商的数据仓库解决方案都提到了关于对元数据的管理 但遗憾的是对于元数据的管理 各个解决方案都没有明确提出一个完整的管理模式 它们提供的仅仅是对特定的局部元数据的管理 当前市场上与元数据有关的主要工具见图 如图 所示 与元数据相关的数据仓库工具大致可分为四类 数据抽取工具 把业务系统中的数据抽取 转换 集成到数据仓库中 如Ardent的DataStage CA(原Platinum)的Decision Base和ETI的Extract等 这些工具仅提供了技术元数据 几乎没有提供对业务元数据的支持 前端展现工具 包括OLAP分析 报表和商业智能工具等 如MicroStrategy的DSS Agent Cognos的PowerPlay Business Objects的BO 以及Brio等 它们通过把关系表映射成与业务相关的事实表和维表来支持多维业务视图 进而对数据仓库中的数据进行多维分析 这些工具都提供了业务元数据与技术元数据相对应的语义层 建模工具 为非技术人员准备的业务建模工具 这些工具可以提供更高层的与特定业务相关的语义 如CA的ERwin Sy ase的PowerDesigner以及Rational的Rose等 元数据存储工具 元数据通常存储在专用的数据库中 该数据库就如同一个 黑盒子 外部无法知道这些工具所用到和产生的元数据是如何存储的 还有一类被称为元数据知识库(Metadata Repository)的工具 它们独立于其它工具 为元数据提供一个集中的存储空间 包括微软的Repository CA的Repository Ardent的MetaStage和Sybase的WCC等 元数据管理的标准化 没有规矩不成方圆 元数据管理之所以困难 一个很重要的原因就是缺乏统一的标准 在这种情况下 各公司的元数据管理解决方案各不相同 近几年 随着元数据联盟MDC(Meta Data Coalition)的开放信息模型OIM(Open Information Model)和OMG组织的公共仓库模型CWM(Common Warehouse Model)标准的逐渐完善 以及MDC和OMG组织的合并 为数据仓库厂商提供了统一的标准 从而为元数据管理铺平了道路 从元数据的发展历史不难看出 元数据管理主要有两种方法 ( ) 对于相对简单的环境 按照通用的元数据管理标准建立一个集中式的元数据知识库 ( ) 对于比较复杂的环境 分别建立各部分的元数据管理系统 形成分布式元数据知识库 然后 通过建立标准的元数据交换格式 实现元数据的集成管理 下面我们分别介绍数据仓库领域中两个最主要的元数据标准 MDC的OIM标准和OMG的CWM标准 MDC的OIM存储模型MDC成立于 年 是一个致力于建立与厂商无关的 不依赖于具体技术的企业元数据管理标准的非赢利技术联盟 该联盟有 多个会员 其中包括微软和IBM等著名软件厂商 年 月MDC接受了微软的建议 将OIM作为元数据标准 OIM的目的是通过公共的元数据信息来支持不同工具和系统之间数据的共享和重用 它涉及了信息系统(从设计到发布)的各个阶段 通过对元数据类型的标准描述来达到工具和知识库之间的数据共享 OIM所声明的元数据类型都采用统一建模语言UML(Universal Modeling Language)进行描述 并被组织成易于使用 易于扩展的多个主题范围(Subject Areas) 这些主题范围包括 &# ; 分析与设计(Analysis and Design) 主要用于软件分析 设计和建模 该主题范围又进一步划分为 UML包(Package) UML扩展包 通用元素(Generic Elements)包 公共数据类型(Common Data Types)包和实体关系建模(Entity Relationship Modeling)包等 &# ; 对象与组件(Object and Component) 涉及面向对象开发技术的方方面面 该主题范围只包含组件描述建模(Component Description Modeling)包 &# ; 数据库与数据仓库(Database and Warehousing) 为数据库模式管理 复用和建立数据仓库提供元数据概念支持 该主题范围进一步划分为 关系数据库模式(Relational Database Schema)包 OLAP模式(OLAP Schema)包 数据转换(Data Transformations)包 面向记录的数据库模式(Record Oriented Database Schema)包 XML模式(XML Schema)包和报表定义(Report Definitions)包等 &# ; 业务工程(Business Engineering) 为企业运作提供一个蓝图 该主题范围进一步划分为 业务目标(Business Goal)包 组织元素(Organizational Elements)包 业务规则(Business Rules)包 商业流程(Business Processes)包等 &# ; 知识管理(Knowledge Management) 涉及企业的信息结构 该主题范围进一步划分为 知识描述(Knowledge lishixinzhi/Article/program/Oracle/201311/18587

1、检查该表的数据量

对于数据大表,数据交换通常需要消耗比较长的时间,并且随着数据量的增加,所需要的时间会增加很多。解决方法是分时间段逐步增量完成数据交换或加载。

2、检查datastage服务器系统资源是否不足

使用topas命令查看系统临时空间、内存、CPU等硬件资源是否被占用很高比例,如果是则从 *** 作系统级别上先释放系统资源。

3、检查目标表是否存在死锁。

需检查目标表是否存在死锁,如存在死锁问题杀死锁表进程,再次执行作业。

希望回答能够帮到你解决问题。

三个阶段的主要区别在与所使用的内存、对不匹配记录的处理以及对输入数据的要求不同。

join

stage:多个输入链接,一个输出链接。会对输入数据进行按键分区,确保相同键值的记录位于同一分区并用同一节点进行处理,故每次只取较少行,所需内存小。对于不匹配记录按照链接方式的不同而有所差异。

merge

stage:多个输入链接,其中一个表示主数据集,其余表示更新数据集,一个输出链接和多个reject链接。可在链接顺序中指定更新链接与reject链接的对应关系。会对输入数据进行按键分区,确保相同键值的记录位于同一分区并用同一节点进行处理,故每次只取较少行,所需内存小。对不匹配记录会放入reject指定的数据输出中。要求主数据集与更新数据集均无重复值。

lookup

stage:一个主链接,一个或多个引用链接,一个输出链接,一个reject链接。查找 *** 作基于引用表的查找键列。查找键列在lookup中定义。查找数据与引用数据会全部读入内存,故需内存较大。无需对数据排序,但是应注意查找表的分区方式,与引用表相同或者采用全部分区方式。

以上就是关于大数据etl工具有哪些全部的内容,包括:大数据etl工具有哪些、为什么在datastage中出现了表和视图不存在的错误但还能正常运行、数据仓库和元数据管理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9276562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存