重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你的意思是从一个表里面查到2列数值,然后想把这2列作为下一个SQL的where条件吧?
成都创新互联公司主要从事网站设计、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务赤城,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
第一步:变量和目标表的准备
这个对应于你说的2列变量值
这个是我在数据库里面创建的一张student表 对应字段 id name score
第二步:搭建处理环境
在这儿 where条件里的第一个问号对应的是传过来的第一个参数(ID) 第二个问号对应的是传过来的第二个参数(NAME) PS:要是你把SQL写成 where name = ? and id = ?就会出错的。
勾选“替换SQL语句里的变量“和”执行每一行“ 。
拓扑图如下:
结果如下:
您好,这样的:
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 服务器组件。
要使用从上一步传来的参数,只要在使用SQL进行引用就可以。
ps:对应的拓扑结构:
ETL:
是“Extract、 Transform 、Load”的缩写,也就是代表ETL过程的三个最主要步骤:“抽取、转换、装载”,但我们平时往往简称其为数据抽取。
Kettle:
是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
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 工具的比较(DataPipeline,Kettle,Talend,Informatica等)
四种工具的比较主要从以下几方面进行比对:
1、成本:
软件成本包括多方面,主要包括软件产品, 售前培训, 售后咨询, 技术支持等。
开源产品本身是免费的,成本主要是培训和咨询,所以成本会一直维持在一个较低水平。
商业产品本身价格很高,但是一般会提供几次免费的咨询或支持,所以采用商用软件最初成本很高,但是逐渐下降。
手工编码最初成本不高,主要是人力成本,但后期维护的工作量会越来越大。
2、易用性:
DataPipeline: 有非常容易使用的 GUI,具有丰富的可视化监控;
Kettle: GUI+Coding;
Informatica: GUI+Coding,有GUI,但是要专门的训练;
Talend:GUI+Coding,有 GUI 图形界面但是以 Eclipse 的插件方式提供;
3、技能要求:
DataPipeline:操作简单,无技术要求;
Kettle: ETL设计, SQL, 数据建模 ;
Informatica: ETL设计, SQL, 数据建模;
Talend:需要写Java;
4、底层架构:
DataPipeline:分布式,可水平扩展;
Kettle:主从结构非高可用;
Informatica:分布式;
Talend:分布式;
5、数据实时性:
DataPipeline:支持异构数据源的实时同步,速度非常快;
Kettle:不支持实时数据同步;
Informatica:支持实时,效率较低;
Talend:支持实时处理,需要购买高级版本,价格贵;
6、技术支持:
DataPipeline:本地化原厂技术支持;
Kettle:无;
Informatica:主要在美国;
Talend:主要在美国;
7、自动断点续传:
DataPipeline:支持;
Kettle:不支持;
Informatica:不支持;
Talend:不支持;
对于做过 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,框架的顶层设计就很重要。