etl集成java代码 etl程序开发
开源ETL工具比较,Kettle和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:需要手工调整,对特定数据源有优化知识。
Kettle:比 Talend 快,不过也需要手工调整,对 Oracle 和 PostGre 等数据源做了优化,同时也取决于转换任务的设计。
数据质量:
Talend:在 GUI 里有数据质量特性,可以手工写 SQL 语句。
Kettle:在 GUI 里有数据质量特性,可以手工写 SQL 语句、java脚本、正则表达式来完成数据清洗。
监控:
Talend:有监控和日志工具
Kettle:有监控和日志工具
连接性:
Talend:各种常用数据库,文件,web service。
Kettle:非常广泛的数据库,文件,另外可以通过插件扩展
常用的etl工具有哪些
1、DataPipeline
DataPipeline 隶属于北京数见科技有限公司,是一家企业级批流一体数据融合服务商和解决方案提供商,国内实时数据管道技术的倡导者。
通过平台和技术为企业客户解决数据准备过程中的各种痛点,帮助客户更敏捷、更高效、更简单地实现复杂异构数据源到目的地的实时数据融合和数据管理等综合服务。
从而打破传统 ETL 给客户灵活数据应用带来的束缚,让数据准备过程不再成为数据消费的瓶颈。
2、Kettle
Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
3、Talend
Talend 是数据集成解决方案领域的领袖企业,为公共云和私有云以及本地环境提供一体化的数据集成平台。Talend的使命是致力于帮助客户优化数据,提高数据可靠性,把企业数据更快地转化为商业价值。
以此为使命,Talend的解决方案将数据从传统基础架构中解放出来,提高客户在业务中的洞察力,让客户更早实现业务价值。
4、Informatica
Informatica是全球领先的数据管理软件提供商。
在如下Gartner魔力象限位于领导者地位:数据集成工具魔力象限、数据质量工具魔力象限、元数据管理解决方案魔力象限、主数据管理解决方案魔力象限、企业级集成平台即服务(EiPaaS)魔力象限。
5、DataStage
IBM® InfoSphere™ Information Server 是一种数据集成软件平台,能够帮助企业从散布在各个系统中的复杂异构信息获得更多价值。InfoSphere Information Server提供了一个统一的平台, 使公司能够了解、清理、变换和交付值得信赖且上下文丰富的信息。
IBM® InfoSphere™ DataStage® and QualityStage™ 提供了图形框架,您可使用该框架来设计和运行用于变换和清理、加载数据的作业。
参考资料:DataPipeline官网-关于我们
参考资料:百度百科-Kettle
参考资料:百度百科-Talend
参考资料:百度百科-Informatica
参考资料:百度百科-DataStage
本机中安装使用ETL工具时,运行作业报错:在项目“.Java”中运行构建器“Java 构建器”时出错、、、
您好,这样的:
J2ME j2me 在构建期间出错,该怎么解决
j2me 在构建期间出错在构建期间出错。 对项目 chatroom 运行构建器“Preverification”时出错。 Illegal Manifest Entry Key or Value "E:\j2me
C# 【意欲运行项目时出错】
【试图运行项目时出错】各位高手大家好,我有一项目在调试时出现如下错误:“试图运行项目时出错:Could not load file or assembly '项目名称'or one of its dependencies. The module was expected to contain an assembly
软件架构设计 运用maven、jaxb等技术构建可配置编译打包及可配置项目运行
使用maven、jaxb等技术构建可配置编译打包及可配置项目运行 一、说在前面apache ant是以个非常流行的项目构建打包开源工具。在很长一段时间里,ant简化了我们项目构建打包的过程,使得我们项目部署的速度有了大幅的提升。然而,熟悉ant使用的朋友可能与我都有一个切身的感受:当我们在使用ant进行项目
J2SE 运行WEB项目时出错,请教这是为什么
运行WEB项目时出错,请问这是为什么?HTTP Status 500 - type Exception report message description The server
单片机 项目运行后总出错,该怎么解决
项目运行后总出错小弟是ARM的新手。。按照书上的例子写了几个例子,但都出现一样的错误。 错误描述: make通过后运行,运行完自己写的程序后出现错误提示:未定义的指令.如下: Processor ARM7TDMI raised
Eclipse Eclipse+Tomcat加载项目后,起步运行出错,超时啦
Eclipse+Tomcat加载项目后,启动运行出错,超时啦! 依旧菜鸟级问题,放在我的博客里,我好找,大神绕行。 在Eclipse中用Tomcat启动服务端工程,一启动就会出错,报错如下: “Server Tomcat v6.0 Server at localhost was unable
编程 strtus2项目,tomcat通常启动后,出错。但程序可以运行
strtus2项目,tomcat正常启动后,出错。但程序可以运行。 strtus2项目,tomcat正常启动后,出错。但程序可以运行。错误代码:[ERROR] [http-8080-2] - org.apache.struts2.dispatcher.Dispatcher
Flex flex与jsp项目整合时运行jsp出错的解决办法
flex与jsp项目整合时运行jsp出错的解决方法 如题:使用SSH与flex整合,使用myeclipse及myeclipse的flex插件,将项目部署到tomcat中,运行时会发现,访问jsp页面会出现错误如下:org.apache.jasper.JasperException
Sql Server vs2008 意欲运行项目时出错:无法启动调试
vs2008 试图运行项目时出错:无法启动调试环境:win7 profressional vs2008 team 。 今天突然电脑的vs2008出现无法调试winform的项目的问题了。并且无法安装上silverlighttool3 工具包
J2ME eclipse导入的j2me源代码为啥必须“构建项目”才能运行?完后放到真机就不能运行
eclipse导入的j2me源代码为什么必须“构建项目”才能运行?完后放到真机就不能运行!我一个游戏的源代码,想把它源代码放到eclipse中编辑,但运行时提示:“通过存储根 DefaultColorPhone 来运行 java.lang.ClassNotFoundException
C# 运行C#项目(不是ASP.NET项目),出现提示:试图运行项目时出错:无法启动调试。进程已经终止。解决方案
运行C#项目(不是ASP.NET项目),出现提示:试图运行项目时出错:无法启动调试。进程已经终止。我在2005中,建立、运行C#项目(不是ASP.NET项目)。想调试一下。但是出现提示:试图运行项目时出错:无法启动调试。进程已经终止。不知道什么原因呢? 我的Terminal Services服务已经启动了。非常谢谢
.NET Framework 出错误信息:试图运行项目时出错,无法启动调试,绑定句柄无效。
程序无法调试.Net2005,启动调试或单步运行,出错误信息:试图运行项目时出错,无法启动调试,绑定句柄无效。编译运行却是正常。机器以前装过vs2005,当时正常,最近系统坏重装便是这样解决方案 第一种方法: 打开项目属性,选择调试选项卡,将“启用非托管代码调试”一项钩上。 第二种
C# 运行WEB项目出现异常,生成成功,运行出错(有详细说明)
运行WEB项目出现错误,生成成功,运行出错(有详细说明)错误信息如下“/WorkFlowWeb”应用程序中的服务器错误。配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 找到的名为“CJHMathLib
VB Dotnet VB.net运行时提示:试图运行项目时出错,无法启动调试,绑定句柄无效!()
VB.net运行时提示:试图运行项目时出错,无法启动调试,绑定句柄无效!(在线等)VB.net运行时提示:试图运行项目时出错,无法启动调试,绑定句柄无效!(在线等)解决方案VS2005.NET提示 "试图运行项目时出错,无法启动调试,绑定句柄无效 "解决办法 不要急着重装.在菜单栏里面选择
ASP.NET 试图运行的项目时出错:无法在web服务器上启动调试解决办法
试图运行的项目时出错:无法在web服务器上启动调试试图运行的项目时出错:无法在web服务器上启动调试。服务器不支持对asp.net或atl server应用程序进行调试。请运行安装程序以安装visual studio .net 服务器组件。
ETL是什么,形象的介绍一下
对于做过 BI 开发的朋友,ETL 并不陌生,只要涉及到数据源的数据抽取、数据的计算和处理过程的开发,都是 ETL,ETL 就这三个阶段,Extraction 抽取,Transformation 转换,Loading 加载。
从不同数据源抽取数据 EXTRACTION ,按照一定的数据处理规则对数据进行加工和格式转换 TRASFORMATION,最后处理完成的输出到目标数据表中也有可能是文件等等,这个就是 LOADING。
再通俗一点讲,ETL 的过程就跟大家日常做菜一样,需要到菜市场的各个摊位买好菜,把菜买回来要摘一下,洗一洗,切一切最后下锅把菜炒好端到饭桌上。菜市场的各个摊位就是数据源,做好的菜就是最终的输出结果,中间的所有过程像摘菜、洗菜、切菜、做菜就是转换。
在开发的时候,大部分时候会通过 ETL 工具去实现,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微软 SQL SERVER 里面的 SSIS 等等,在结合基本的 SQL 来实现整个 ETL 过程。
也有的是自己通过程序开发,然后控制一些数据处理脚本跑批,基本上就是程序加 SQL 实现。
哪种方式更好,也是需要看使用场景和开发人员对那种方式使用的更加得心应手。我看大部分软件程序开发人员出身的,碰到数据类项目会比较喜欢用程序控制跑批,这是程序思维的自然延续。纯 BI 开发人员大部分自然就选择成熟的 ETL 工具来开发,当然也有一上来就写程序脚本的,这类 BI 开发人员的师傅基本上是程序人员转过来的。
用程序的好处就是适配性强,可扩展性强,可以集成或拆解到到任何的程序处理过程中,有的时候使用程序开发效率更高。难就难在对维护人员有一定的技术要求,经验转移和可复制性不够。
用 ETL 工具的好处,第一是整个 ETL 的开发过程可视化了,特别是在数据处理流程的分层设计中可以很清晰的管理。第二是链接到不同数据源的时候,各种数据源、数据库的链接协议已经内置了,直接配置就可以,不需要再去写程序去实现。第三是各种转换控件基本上拖拉拽就可以使用,起到简化的代替一部分 SQL 的开发,不需要写代码去实现。第四是可以非常灵活的设计各种 ETL 调度规则,高度配置化,这个也不需要写代码实现。
所以在大多数通用的项目中,在项目上使用 ETL 标准组件开发会比较多一些。
ETL 从逻辑上一般可以分为两层,控制流和数据流,这也是很多 ETL 工具设计的理念,不同的 ETL 工具可能叫法不同。
控制流就是控制每一个数据流与数据流处理的先后流程,一个控制流可以包含多个数据流。比如在数据仓库开发过程中,第一层的处理是ODS层或者Staging 层的开发,第二层是 DIMENSION维度层的开发,后面几层就是DW 事实层、DM数据集市层的开发。通过ETL的调度管理就可以让这几层串联起来形成一个完整的数据处理流程。
数据流就是具体的从源数据到目标数据表的数据转换过程,所以也有 ETL 工具把数据流叫做转换。在数据流的开发设计过程中主要就是三个环节,目标数据表的链接,这两个直接通过 ETL 控件配置就可以了。中间转换的环节,这个时候就可能有很多的选择了,调 SQL 语句、存储过程,或者还是使用 ETL 控件来实现。
有的项目上习惯使用 ETL 控件来实现数据流中的转换,也有的项目要求不使用标准的转换组件使用存储过程来调用。也有的是因为数据仓库本身这个数据库不支持存储过程就只能通过标准的SQL来实现。
我们通常讲的BI数据架构师其实指的就是ETL的架构设计,这是整个BI项目中非常核心的一层技术实现,数据处理、数据清洗和建模都是在ETL中去实现。一个好的ETL架构设计可以同时支撑上百个包就是控制流,每一个控制流下可能又有上百个数据流的处理过程。之前写过一篇技术文章,大家可以搜索下关键字 BIWORK ETL 应该在网上还能找到到这篇文章。这种框架设计不仅仅是ETL框架架构上的设计,还有很深的ETL项目管理和规范性控制器思想,包括后期的运维,基于BI的BI分析,ETL的性能调优都会在这些框架中得到体现。因为大的BI项目可能同时需要几十人来开发ETL,框架的顶层设计就很重要。
网站题目:etl集成java代码 etl程序开发
本文地址:http://pwwzsj.com/article/hhoipg.html