ETL选型策略及参考:Kettle与HaoheDI对比

合集下载

三大主流ETL工具选型

三大主流ETL工具选型

三大主流ETL工具选型ETL(extract, transform and load) 产品乍看起来似乎并不起眼,单就此项技术本身而言,几乎也没什么特别深奥之处,但是在实际项目中,却常常在这个环节耗费太多的人力,而在后续的维护工作中,更是往往让人伤透脑筋。

之所以出现这种状况,恰恰与项目初期没有正确估计ETL工作、没有认真考虑其工具支撑有很大关系。

做ETL产品的选型,仍然需要从以前说的四点(即成本、人员经验、案例和技术支持) 来考量。

在此,主要列举三种主流ETL产品:Ascential公司的Datastage、Informatica公司的Powercenter、NCR Teradata公司的ETL Automation。

其中,ETL Automation相对其他两种有些特别之处,放在后面评述。

旗鼓相当:Datastage与Powercenter就Datastage和Powercenter而言,这两者目前占据了国内市场绝大部分的份额,在成本上看水平相当,虽然市面上还有诸如Business Objects公司的Data Integrator、Cognos公司的DecisionStream,但尚属星星之火,未成燎原之势。

谈Datastage和Powercenter,如果有人说这个就是比那个好,那听者就要小心一点了。

在这种情况下有两种可能:他或者是其中一个厂商的员工,或者就是在某个产品上有很多经验而在另一产品上经验缺乏的开发者。

为什么得出这一结论?一个很简单的事实是,从网络上大家对它们的讨论和争执来看,基本上是各有千秋,都有着相当数量的成功案例和实施高手。

确实,工具是死的,人才是活的。

在两大ETL工具技术的比对上,可以从对ETL流程的支持、对元数据的支持、对数据质量的支持、维护的方便性、定制开发功能的支持等方面考虑。

一个项目中,从数据源到最终目标表,多则上百个ETL过程,少则也有十几个。

这些过程之间的依赖关系、出错控制以及恢复的流程处理,都是工具需要重点考虑。

开源ETL工具比较,Kettle和Talend,都有什么优势和劣势?

开源ETL工具比较,Kettle和Talend,都有什么优势和劣势?

开源ETL工具比较,Kettle和Talend,都有什么优势和劣势?Talend这个工具之前还真没听说过。

搜索了下,可以借鉴下Pentaho Data Integration (Kettle)是Pentaho生态系统中默认的ETL工具。

通过非常直观的图形化编辑器(Spoon),您可以定义以XML格式储存的流程。

在Kettle运行过程中,这些流程会以不同的方法编译。

用到的工具包括命令行工具(Pan),小型服务器(Carte),数据库存储库(repository)(Kitchen)或者直接使用IDE(Spoon)。

Talend Open Studio是 Talend 开发的ETL工具——Talend 是一家主营数据集成和数据管理解决方案的企业。

Talend 采用用户友好型,综合性很强的IDE(类似于Pentaho Kettle 的 Spoon)来设计不同的流程。

这些流程可以在IDE内部测试并编译成Java 代码。

您可以随时查看并编辑生成的Java代码,同时实现强大的控制力和灵活性。

两者都非常优秀,都属于用户友好型的交叉平台(基于Java的)工具。

它们的主要差异在于Kettle 将 ELT 流程编译为 XML 格式,然而Talend Open Studio 则生成 Java 代码。

易用性:Talend:有 GUI 图形界面但是以 Eclipse 的插件方式提供。

Kettle:有非常容易使用的 GUI,出现问题可以到社区咨询。

技术支持:Talend:主要在美国Kettle:在美国,欧洲(比利时,德国,法国,英国),亚洲(中国,日本,韩国)都可以找到相关技术支持人员。

部署:Talend:创建 java 或perl 文件,并通过操作系统调度工具来运行Kettle:可以使用 job 作业方式或操作系统调度,来执行一个转换文件或作业文件,也可以通过集群的方式在多台机器上部署。

速度:Talend:需要手工调整,对特定数据源有优化知识。

ETL工具选型

ETL工具选型

ETL工具选型1 简介根据以往数据仓库项目的经验,在一个数据仓库项目中,ETL设计和实施的工作量一般要占总项目工作量的50%-70%,而且数据仓库项目一般会存在二次需求的问题,客户在项目的实施过程中或者使用过程中会提出新的业务需求,而任何前端业务模型的改变都会涉及到ETL设计,因此ETL工具的选择对于整个数据仓库项目的成功是非常重要的。

2 ETL工具选型ETL工具必须提供非常简单易用的维护界面来定义和维护这种变化,同时能提供相关元数据管理,以便于将来对整个ETL过程进行维护和监控。

正确选择ETL工具,可以从ETL对平台的支持、对数据源的支持、数据转换功能、管理和调度功能、集成和开放性、对元数据管理等功能并结合成本、人员经验、案例和技术支持出发,具体如下。

2.1 支持平台随着各种应用系统数据量的飞速增长和对业务可靠性等要求的不断提高,人们对数据抽取工具的要求往往是将几十、上百个GB的数据在有限的几个小时内完成抽取转换和装载工作,这种挑战势必要求抽取工具对高性能的硬件和主机提供更多支持。

因此,我们可以从数据抽取工具支持的平台,来判断它能否胜任企业的环境,目前主流的平台包括SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux、Windows等。

2.2 支持数据源对数据源支持的重要性不言而喻,因此这个指标必须仔细地考量。

首先,我们需要对项目中可能会遇到的各种数据源有一个清晰的认识;其次对各种工具提供的数据源接口类型也要有深入了解,比如,针对同一种数据库,使用通用的接口(如ODBC/JDBC)还是原厂商自己的专用接口,数据抽取效率都会有很大差别,这直接影响到我们能不能在有限的时间内完成ETL任务。

常见的数据源供参考:DB2、Informix、Oracle、Sybase、SQL Server、Teredata、OleDB、SAS、Text、Excel、SAP、Peoplesoft、IMS、VSAM、QSAM on 390、FTP、XML、MessageQueue、Weblog、Essbase等。

kettle etl设计方案

kettle etl设计方案

kettle etl设计方案1. 引言Kettle是一款强大的ETL(Extract, Transform, Load)工具,可以帮助用户实现数据的抽取、转换和加载。

本文档旨在介绍Kettle的设计方案,包括架构设计、任务调度、数据传输等重要内容。

2. 架构设计Kettle的架构由三个主要组件组成:Spoon、Pan和Kitchen。

•Spoon:是Kettle的图形用户界面工具,用于创建和编辑Kettle的转换和作业。

•Pan:是一个命令行工具,用于在命令行模式下执行Kettle的转换和作业。

•Kitchen:也是一个命令行工具,用于在命令行模式下执行Kettle的作业,和Pan相比,Kitchen可以更好地管理和监控作业的执行过程。

Kettle的架构还包括一个元数据数据库,用于存储转换和作业的定义、日志、错误信息等。

3. 任务调度Kettle提供了多种任务调度的方式,可以根据实际需求选择合适的方式。

3.1 定时任务调度Kettle可以通过定时任务调度器(例如Quartz)实现定时执行转换和作业。

用户可以配置任务的执行时间、频率和参数等信息,实现自动化的数据处理。

3.2 事件触发任务调度Kettle还支持通过事件触发的任务调度。

用户可以定义一个事件,当满足特定条件时触发任务的执行。

例如,可以设置一个文件变化的事件,当指定的文件发生变化时,触发转换或作业的执行。

4. 数据传输Kettle支持多种数据传输方式,可以方便地从源数据源中抽取数据、进行转换,并加载到目标数据源中。

4.1 数据抽取Kettle可以从各种关系型数据库、文件系统、Web服务等数据源中抽取数据。

用户可以通过Kettle提供的数据抽取组件,配置数据源的连接信息、查询语句等参数,实现数据的快速抽取。

4.2 数据转换Kettle的转换组件提供了丰富的数据转换功能,包括数据清洗、数据过滤、字段映射、数据计算等操作。

用户可以通过拖拽转换组件并连接它们,定义数据的转换逻辑和处理流程。

基于现在接触的ETL工具(datax和kettle)做个小总结

基于现在接触的ETL工具(datax和kettle)做个小总结

基于现在接触的ETL⼯具(datax和kettle)做个⼩总结现阶段需要做数据库同步⼯作,⽬前调研了两个⼯具datax和kettle⽬前虽然环境使⽤的是kettle+jenkins调度平台⽅案,但是多多少少会有⼀些不太令⼈满意的地⽅,但应该算是满⾜⼤部分需求了,先暂时这样实现这两者各有优缺点,基本的就不总结了。

现在说说⼀些关键点:基本⽅⾯:1.datax适合做数据同步⼯作;kettle适合数据清洗,转换⼯作⽬前成型的可视化界⾯,datax推荐datax web,kettle后期维护⽤的界⾯推荐jenkins/kettle-manager简单2.datax对于数据库压⼒⽐较⼩,全量读取速度优于kettle3.对于⼀些⽅案的可⾏性,⼩数据量的选择全量对⽐,10w数据量⼤概3s完成插⼊更新全量抽取过程,还是⽐较快的。

⼩数据量的情况下差别不⼤4.⽬前⽣产可⾏⽅案可以选择datax+datax web/kettle6.⽇志⽅案是对于⼤量数据的最优选择,mysql⽤maxwell抓取⽇志或者上边提供的⽅案,oracle⽤ogg,sqlserver⽬前不清楚需要再找7.保证kettle后期稳定的情况下⽤windows⾃带的定时任务或者Linux中⽤crontab,不过后续的jenkins完全能胜任贴上链接:wgetftp:///mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/EPEL:/el7/RHEL_7/x86_64/webkitgtk-2.4.9-1.el7.x86_64.rpmyum install webkitgtk-2.4.9-1.el7.x86_64.rpm9.docker部署mysql10.部署jenkins进⾏配置⽂件配置,在 etc/sysconfig/jenkins⾥改端⼝#修改jenkins镜像⽂件cd ~/.jenkins/updates⼀些⼩坑:mysql 8.0驱动jar包⽅⾯更换,导致不能⽤,需要注意驱动#所有命令找不到export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin#刷新环境变量:source /etc/profile#给脚本赋予权限:chmod +x ./data-integration/*.shdatax⽤的python版本要注意,2.6+版本和3.0+版本有语法差别(记得是括号问题)centos 7可以通过添加打印机⽅式避免开机总是⿊屏部署kettle和jenkins会存在⼀些坑#书写sh脚本时候在脚本⾥⾯添加source /etc/profile即可11.关于调度平台问题,⽬前如果想要放⼊docker容器⾥⾯然后再放⼊集群中有难度,使⽤某个服务上xxl-job调度,carte.sh⽅法还得提供个ip地址,或者xml⽂件,⽬前没想到怎么实现,⽬前可能⽅法可能是⽤docker库⾥的kettle镜像,⾃⼰⽣成⼀个,或者⾃⼰通过源码⽣成⼀个docker file⽂件,打包完成后再进⾏部署12.⽬前8.0版本和8.2版本有差异,⽣成的镜像⽂件再运⾏job⽂件可能存在问题,⽽docker库⾥⾯的8.3版本可以运⾏8.2版本13.如果是从接⼝获取数据的⽅式,并且接⼝调⽤频率有限制可以通过这种⽅式(中间加个等待时间)然后获取的也是系统时间和时间戳存放的时间中间数据量,这样可以变化的获取页数和对应的所有数据,针对接⼝返回404情况,可以获取唯⼀标识存放到临时表⾥,然后再遍历这个唯⼀标识去做⼆次请求,这样如果实时更细数据量不多的情况下,其实可以⽤先从临时表⾥获取对应的404对应的唯⼀标识,然后先看看原数据⾥⾯有没有,如果没有的话则会进⼊插⼊更新,虽然这个组件很慢,但是对于已经在前边进⾏排除了,只是进⾏更新对⽐,所以实质上数据量并不⼤进⾏全量⽐对⽅式也是可⾏的(⽬前⽅法只是针对⽬前做的东西,通⽤的其实还是⽇志的效果好,但是难度⼤⼀些,需要再研究)重点是这⼏个转换⽅案太蠢了,步骤过多影响速度,还好现在⽤时间戳,并⾏所有job只⽤37-45s左右,但是数据量⼀⼤就有问题了不适合做现在或者以后的最佳⽅案,所以只做思路参考14.其实清洗最优⽅案还是通过python去处理,或者使⽤data-web的⽅式,那个是在git上有源码,并且结合的正好是xxl-job调度平台,可以使⽤这个调度平台+整合数据的⽅案16.关于部署到阿⾥云服务器的上的问题,⼀定⼀定要添加安全组,不然会报错,并且CONVERT_TO_NULL是可以使⽤。

一份全面的企业数据产品选型对比(含数仓、报表、BI、中台、数据治理)

一份全面的企业数据产品选型对比(含数仓、报表、BI、中台、数据治理)

一份全面的企业数据产品选型对比(含数仓、报表、BI、中台、数据治理)编辑导语:在如今这个数据化时代,数据对于个人和企业来说,其重要性都不可小觑。

因此,有不少企业强化了数据工作,加强企业数据建设。

接下来,本文作者整理了一份超全面的企业数据产品的选型对比,希望对大家有所帮助。

前言:这个从上至下都在强调数字化转型的时代,越来越多公司重视数据,也越来越多的企业有数据建设的需求。

企业无论做任何数据工作,必然要有一定的信息化基础,也要有数据化建设的基础,少不了数据平台、数据应用工具,数据管理工具等。

关于企业数据建设这块,本人从事了近7年,从技术到项目管理,做过乙方也做过甲方,也有多年和各乙方厂商打交道的经验,遂来分享选型“内幕”。

涉及到的产品有:数仓、大数据平台、报表、BI、数据中台、数据治理等。

数据仓库算是一个解决方案,视企业需求有不同架构(传统数仓、数据集市、大数据平台等),架构下有很多分层和组件,比起工具更需要架构师能力,具体原理就不讲了。

关于数仓的选型主要涉及:数据存储方案、ETL、还有前端应用。

底层的数据仓库服务器通常是一个关系数据库系统,常用的方案有Oracle、db2、还有greenplum、teredata等数据仓库专业解决方案。

传统的关系型数据库有:oracle、mysql、DB2。

大规模并行处理数据库:Vertica、Teradata(商业)、Greenplum (开源)。

Teradata老江湖了,银行业使用较多,但成本也是真的贵,目前我们做项目较多的是用Greenplum,算是业界最快和最高性价比的高端数据仓库解决方案,Greenplum是基于PostgreSQL的,于2022年开源。

我知道的国内四大行有3家在用,5大物流公司有4家在用,不少公司在从Teradata迁移到GP。

大数据平台主流的是:Hadoop+Hive。

这套方案有多通用不用多说了,后面说到的大数据平台厂商也大多基于这个来设计平台产品。

数据仓库中ETL工具的选型与使用

数据仓库中ETL工具的选型与使用

数据仓库中ETL工具的选型与使用随着企业信息化的深入发展,数据仓库在企业的日常运营中扮演着越来越重要的角色。

而在数据仓库建设中,ETL工具起着至关重要的作用。

本文将结合笔者多年的从业经验,深入探讨数据仓库中ETL工具的选型与使用,旨在为读者提供一些有用的参考。

一、ETL工具的概述首先,我们来了解一下ETL工具的概念。

ETL工具是指一类用于将不同来源的数据进行抽取(Extract)、转换(Transform)、加载(Load)等操作的软件。

在数据仓库中,ETL工具类似于“数据加工车间”,可以完成数据的清洗、整合、转换等多种工作。

目前市面上比较流行的ETL工具有很多,例如IBM DataStage、Informatica PowerCenter、Oracle Data Integrator等。

每个ETL工具都有其独特的特点及适用场景,选择一款合适的ETL工具非常关键。

二、ETL工具的选型在ETL工具的选型中,需要考虑以下几个方面:1. 企业规模及需求企业规模及需求是选择ETL工具的首要考虑因素。

对于规模较小的企业,可以选择一些开源的ETL工具,如Kettle和Talend Open Studio。

这些工具具有操作简便、易于掌握、可扩展性强等优点,适合小型企业以及需要快速实现数据仓库的项目。

而若企业具有大规模的数据仓库及数据流转需求,可以考虑一些成熟的商业ETL工具,如IBM DataStage、Informatica PowerCenter、Oracle Data Integrator等。

这些工具具有高度可靠性、高性能、强大的数据处理能力等优点,可以满足企业不断发展的需求。

2. 数据量及复杂度数据量及复杂度也是选择ETL工具的一个重要考虑因素。

对于数据量较小、简单的企业,可以选择一些基础的ETL工具,如Microsoft SQL Server Integration Services等。

这些工具主要用于数据提取、转换、加载等基础操作,适合数据量较小及较为简单的企业。

ETL工具对比参考文档

ETL工具对比参考文档

E T L工具对比参考文档(总13页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除参考1:参考2:数据整合部分:PowerCenter,是业界公认领导者数据质量管理:Data Quality,成熟稳定技术,在中国有大规模应用的成功案例。

数据整合部分:Datastage,属于业界一类产品数据质量管理:QualityStage,收购的技术,不是主要其主要产实时数据捕获:PowerExchange,业界领先实时采集技术,支持广泛数据源的CDC和Realtime,与PowerCenter无缝集成。

元数据管理:Metadata Manager,是业界领先的企业级元数据管理平台,可做到字段级的元数据各项分析,有广泛的元数据采集接口,图形化无需编程,并可自动维护变更。

品组成实时数据捕获:MQ和DataMirror 的技术,技术复杂,与DataStage 是不同风格产品,产品的耦合度极差。

元数据管理:MetaStage,几乎免费的产品,应用性极差,并不能管理企业级的元数据。

而新推出的产品与旧有产品线耦合度差,并未经过市场的考验。

Informatica 是全图形化的开发模式,不需要编码,工具易使用,界面友好、直观。

专业的三天培训,可使开发人员快速入门,进行开发设计。

开发人员只要懂得数据库知识,即可。

Informatica 产品是以元数据为核心的,其开发过程中,所有的元数据,包括规则和过程,均是可复用,共享的。

经过简单配置即可支持大数据量的处理。

Informatica是完全基于引擎级别的,所有功能模块化,扩展性强,维护成本低。

虽然也是图形化的界面,但复杂的转换过程,里面嵌入了很多类Basic脚本的成份。

要求开发人员,有编程语言基础。

在处理大数据量,必须使用Datastage企业版。

但如果客户原先使用的Datastage 标准版,其作业的版本移植问题很大。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HaoheDI是北京昊合数据科技有限公司研发的ETL产品,是一款轻量级数据整合类工具软件,产品采用先抽取加载到目标数据库后再进行清洗转换的ELT方式,实现企业内数据整合的开发工作,同时平台提供元数据管理、数据质量、版本控制、日志分析等辅助管理功能,为企业提供包括数据迁移、数据标准化、数据同步、数据交换、数据仓库在内的一体化数据整合服务。

与Kettle相比,HaoheDI 具备以下优势:
(HaoheDI已经部署在云服务器上,可以在昊合数据官网在线进行操作体验)
KETTLE(PDI)HaoheDI
学习成本熟练掌握至少需要1个月时间,开
发人员通常需要1、2个Kettle的项
目经验。

熟练掌握1天时间,开发人员只需
要掌握数据库的SQL开发即可,
无需ETL工具经验。

调度计划生产环境主要是通过操作系统自身
的调度机制调度命令行的方式实现,
linux下需要写shell,不方便
系统自带调度计划设置,通过浏览
器即可设定,操作简单
日志监控生成环境下很难通过界面来观察作
业的执行情况,一般是将日志输出到
日志文件或数据库中进行查询,通常
需要再开发一个日志访问程序
系统提供清晰的日志监控功能,通
过浏览器实时观察作业执行情况,
以及提供历史日志分析功能
作业手工重跑缺少批量重跑功能,需要一个一个执

支持多批次批量重跑
创建任务及作业需要手工逐个进行创建,工作量较大可以批量生成任务,以及将任务批量导入作业。

数据质量探查没有后续版本即将加入
ETL方法论主要靠开发人员自身的丰富经验内置实施方法,帮助无经验的人员快速实施。

相关文档
最新文档