当前位置:文档之家› dwr怎么返回对象

dwr怎么返回对象

dwr怎么返回对象
dwr怎么返回对象

查看文章

DWR如何获得返回对象 list Map Set list.add(JavaBean) 2009-05-11 14:23

1、调用没有返回值和参数的JAVA方法

1.1、dwr.xml的配置

标签中包括可以暴露给javascript访问的东西。

标签中指定javascript中可以访问的java类,并定义DWR应当如何获得要进行远程的类的实例。creator="new"属性指定java类实例的生成方式,new 意味着DWR应当调用类的默认构造函数来获得实例,其他的还有spring方式,通过与IOC容器Spring进行集成来获得实例等等。javascript=" testClass "属性指定javascript代码访问对象时使用的名称。

标签指定要公开给javascript的java类名。

标签指定要公开给javascript的方法。不指定的话就公开所有方法。标签指定要防止被访问的方法。

1.2、javascript中调用

首先,引入javascript脚本

其中TestClass.js是dwr根据配置文件自动生成的,engine.js和util.js是dwr自带的脚本文件。

其次,编写调用java方法的javascript函数

Function callTestMethod1(){

testClass.testMethod1();

}

2、调用有简单返回值的java方法

2.1、dwr.xml的配置

配置同1.1

2.2、javascript中调用

首先,引入javascript脚本

其次,编写调用java方法的javascript函数和接收返回值的回调函数Function callTestMethod2(){

testClass.testMethod2(callBackFortestMethod2);

}

Function callBackFortestMethod2(data){

//其中date接收方法的返回值

//可以在这里对返回值进行处理和显示等等

alert("the return value is " + data);

}

其中callBackFortestMethod2是接收返回值的回调函数

3、调用有简单参数的java方法

3.1、dwr.xml的配置

配置同1.1

3.2、javascript中调用

首先,引入javascript脚本

其次,编写调用java方法的javascript函数

Function callTestMethod3(){

//定义要传到java方法中的参数

var data;

//构造参数

data = “test String”;

testClass.testMethod3(data);

}

4、调用返回JavaBean的java方法

4.1、dwr.xml的配置

标签负责公开用于Web远程的类和类的方法,标签则负责这些方法的参数和返回类型。convert元素的作用是告诉DWR在服务器端Java 对象表示和序列化的JavaScript之间如何转换数据类型。DWR自动地在Java和JavaScript表示之间调整简单数据类型。这些类型包括Java原生类型和它们各自的封装类表示,还有String、Date、数组和集合类型。DWR也能把JavaBean 转换成JavaScript 表示,但是出于安全性的原因,要求显式的配置,

标签就是完成此功能的。converter="bean"属性指定转换的方式采用JavaBean命名规范,match=""com.dwr.TestBean"属性指定要转换的javabean 名称,标签指定要转换的JavaBean属性。

4.2、javascript中调用

首先,引入javascript脚本

其次,编写调用java方法的javascript函数和接收返回值的回调函数Function callTestMethod4(){

testClass.testMethod4(callBackFortestMethod4);

}

Function callBackFortestMethod4(data){

//其中date接收方法的返回值

//对于JavaBean返回值,有两种方式处理

//不知道属性名称时,使用如下方法

for(var property in data){

alert("property:"+property);

alert(property+":"+data[property]);

}

//知道属性名称时,使用如下方法

alert(https://www.doczj.com/doc/266443041.html,ername);

alert(data.password);

}

其中callBackFortestMethod4是接收返回值的回调函数

5、调用有JavaBean参数的java方法

5.1、dwr.xml的配置

配置同4.1

5.2、javascript中调用

首先,引入javascript脚本

其次,编写调用java方法的javascript函数

Function callTestMethod5(){

//定义要传到java方法中的参数

var data;

//构造参数,date实际上是一个object

data = { username:"user", password:"password" }

testClass.testMethod5(data);

}

6、调用返回List、Set或者Map的java方法

6.1、dwr.xml的配置

配置同4.1

注意:如果List、Set或者Map中的元素均为简单类型(包括其封装类)或String、Date、数组和集合类型,则不需要标签。

6.2、javascript中调用(以返回List为例,List的元素为TestBean)

首先,引入javascript脚本

其次,编写调用java方法的javascript函数和接收返回值的回调函数Function callTestMethod6(){

testClass.testMethod6(callBackFortestMethod6);

}

Function callBackFortestMethod6(data){

//其中date接收方法的返回值

//对于JavaBean返回值,有两种方式处理

//不知道属性名称时,使用如下方法

for(var i=0;i

for(var property in data){

alert("property:"+property);

alert(property+":"+data[property]);

}

}

//知道属性名称时,使用如下方法

for(var i=0;i

alert(https://www.doczj.com/doc/266443041.html,ername);

alert(data.password);

}

}

7、调用有List、Set或者Map参数的java方法

7.1、dwr.xml的配置

import java.util.List;

import com.dwr.TestClass;

import com.dwr.TestBean;

TestClass.testMethod7(List);

]]>

标签是用来声明java方法中List、Set或者Map参数所包含的确切类,以便java代码作出判断。

7.2、javascript中调用(以返回List为例,List的元素为TestBean)

首先,引入javascript脚本

其次,编写调用java方法的javascript函数

Function callTestMethod7(){

//定义要传到java方法中的参数

var data;

//构造参数,date实际上是一个object数组,即数组的每个元素均为object data = [

{

username:"user1",

password:"password2"

},

{

username:"user2",

password:" password2"

}

];

testClass.testMethod7(data);

}

注意:

1、对于第6种情况,如果java方法的返回值为Map,则在接收该返回值的javascript回调函数中如下处理:

function callBackFortestMethod(data){

//其中date接收方法的返回值

for(var property in data){

var bean = data[property];

alert(https://www.doczj.com/doc/266443041.html,ername);

alert(bean.password);

}

}

2、对于第7种情况,如果java的方法的参数为Map(假设其key为String,value为TestBean),则在调用该方法的javascript函数中用如下方法构造要传递的参数:

function callTestMethod (){

//定义要传到java方法中的参数

var data;

//构造参数,date实际上是一个object,其属性名为Map的key,属性值为Map 的value

data = {

"key1":{

username:"user1",

password:"password2"

},

"key2":{

username:"user2",

password:" password2"

}

};

testClass.testMethod(data);

}

并且在dwr.xml中增加如下的配置段

import java.util.List;

import com.dwr.TestClass;

import com.dwr.TestBean;

TestClass.testMethod7(Map);

]]>

3、由以上可以发现,对于java方法的返回值为List(Set)的情况,DWR将其转化为Object数组,传递个javascript;对于java方法的返回值为Map的情况,DWR将其转化为一个Object,其中Object的属性为原Map的key值,属性值为原Map相应的value值。

4、如果java方法的参数为List(Set)和Map的情况,javascript中也要根据3种所说,构造相应的javascript数据来传递到java中。

==================================================================== ==================

Scripting Introduction

DWR根据dwr.xml生成和Java代码类似的Javascript代码。

相对而言Java同步调用,创建与Java代码匹配的Ajax远程调用接口的最大挑战来至与实现Ajax的异步调用特性。

DWR通过引入回调函数来解决这个问题,当结果被返回时,DWR会调用这个函数。

有两种推荐的方式来使用DWR实现远程方法调用。可以通过把回调函数放在参数列表里,也可以把回调函数放到元数据对象里。

当然也可以把回调函数做为第一个参数,但是不建议使用这种方法。因为这种方法在处理自动处理http对象时(查看"Alternative Method")上会有问题。这个方法主要是为向下兼容而存在的。

简单的回调函数

假设你有一个这样的Java方法:

public class Remote { public String getData(int index) { ... }}

我们可以在Javascript中这样使用:

type="text/javascript" src="[WEBAPP]/dwr/engine.js">

...function handleGetData(str)

{ alert(str);}Remote.getData(42, handleGetData);

42是Java方法getData()的一个参数。

此外你也可以使用这种减缩格式:

Remote.getData(42, function(str) { alert(str); });

调用元数据对象(Meta-Data)

另外一种语法时使用"调用元数据对象"来指定回调函数和其他的选项。上面的例子可以写成这样:

Remote.getData(42, { callback:function(str) { alert(str); }});

这种方法有很多优点:易于阅读,更重要的指定额外的调用选项。

超时和错误处理

在回调函数的元数据中你可以指定超时和错误的处理方式。例如:

Remote.getData(42, { callback:function(str) { alert(str); }, timeout:5000, errorHandler:function(message) { alert("Oops: " + message); }});

查找回调函数

有些情况下我们很难区分各种回调选项(记住,Javascript是不支持函数重载的)。例如:

Remote.method({ timeout:3 }, { errorHandler:somefunc });

这两个参数之一是bean的参数,另一个是元数据对象,但是我们不能清楚的告诉DWR哪个是哪个。为了可以跨浏览器,我们假定null == undefined。所以当前的情况,规则是:

如果第一个或最后一个是一个函数,那么它就是回调函数,没有元数据对象,并且其他参数都是Java的方法参数。

?另外,如果最后一个参数是一个对象,这个对象中有一个callback成员,并且它是个函数,那么这个对象就是元数据对象,其他的都是Java方法参数。

?另外,如果第一个参数是null,我们就假设没有回调函数,并且其他的都是Java方法参数。尽管如此,我们会检查最后一个参数是不是null,如果是就发出警告。

?最后如果最后一个参数是null,那么就没有callback函数。

?另外,发出错误信号是个糟糕的请求格式。

创造一个与Java对象匹配的Javascript对象

假设你有这样的Java方法:

public class Remote { public void setPerson(Person p) { this.person = p; }}

Person对象的结构是这样的:

public Person { private String name; private int age; private Date[] appointments; // getters and setters ...}

那么你可以在Javascript中这样写:

var p = { name:"Fred Bloggs", age:42, appointments:[ new Date(), new Date("1 Jan 2008") ]};Remote.setPerson(p);

在Javascript没有出现的字段,在Java中就不会被设置。

因为setter都是返回'void',我们就不需要使用callback函数了。如果你想要一个返回void的服务端方法的完整版,你也可以加上callback函数。很明显DWR不会向它传递任何参数。

DWR util.js 整理(DWR 处理各种form表单

Select/option,table等,List,Bean(2)

2009年04月24日星期五下午 04:50

/******************************************************************** ************/

/***********************QQ: 171505924 Gump

**************************************/

/********************************************************************

************/

4、getText 取得text属性值

DWRUtil.getText(id): 用来获得 option 中的文本

比如:

Java代码

1.

调用 DWRUtil.getText("select"); 将返回 "香蕉" 字段;

DWRUtil.getText(id);仅仅是用来获得 select 文本值,其他不适用。 /***************************************************************** *************/

/***************************************************************** *************/

/***************************************************************** *************/

5、DWRUtil.getValue(id): 用来获得 form 表单值

有如下几种情况:

Java代码

1. Text area (id="textarea"): DWRUtil.getValue("textarea")将

返回 Text area的值;

2.Selection list (id="select"): DWRUtil.getValue("select") 将返回

Selection list 的值;

3.Text input (id="text"): DWRUtil.getValue("text") 将返回 Text

input 的值;

4.Password input (id="password"): DWRUtil.getValue("text") 将返回

Password input 的值;

5.Form button (id="formbutton"): DWRUtil.getValue("formbutton") 将

返回 Form button 的值;

6.Fancy button (id="button"): DWRUtil.getValue("formbutton") 将返

回 Fancy button 的值;

6、getValues 取得form多个值

批量获得页面表单的值,组合成数组的形式,返回 name/value;

例如: form():

Java代码

1.

2.

3.

4.

9.

10.

11. 那么:

DWRUtil.getValues({textarea:null,select:null,text:null,password :null,button:null})

12. 将返

回 ^^^^^^^^^^^^^^^^{textarea:1111,select:4444,text:2222,passw ord:3333,button:5555}

7、DWRUtil.onReturn 防止当在文本框中输入后,直接按回车就提交表单。

8、DWRUtil.selectRange(ele, start, end);

在一个input box里选一个范围

Java代码

1.DWRUtil.selectRange("sel-test", $("start").value,

$("end").value);

2.

3.比如:

value="012345678901234567890">

4.

5.DWRUtil.selectRange("sel-test", 2, 15);

结果文本框中的值"2345678901234"将被选中'

9、DWRUtil.setValue(id,value);

为指定的id元素,设置一个新值;

/***************************************************************** *************/

10、DWRUtil.setValues({

name: "fzfx88",

password: "1234567890"

}

); 同上,批量更新表单值.

/***************************************************************** *************/

11、DWRUtil.toDescriptiveString()

带debug信息的toString,第一个为将要debug的对象,第二个参数为处理等级。等级如下:

0: Single line of debug 单行调试

1: Multi-line debug that does not dig into child objects 不分析子元素的多行调试

2: Multi-line debug that digs into the 2nd layer of child objects 最多分析到第二层子元素的多行调试

DWRUtil。toDescriptiveString("text",0);

/***************************************************************** *************/

12、https://www.doczj.com/doc/266443041.html,eLoadingMessage();

当发出ajax请求后,页面显示的提示等待信息;

Java代码

1. function searchUser(){

2.var loadinfo = "loading....."

3.try{

4. regUser.queryAllUser(userList);

5. https://www.doczj.com/doc/266443041.html,eLoadingMessage(loadinfo);

6.}catch(e){

7.

8.}

9. }

利用DWR处理回调函数返回的list集合

2009-03-16 10:16

1、配置dwr.xml

//为DWR实现类

//PO类

2、DWR类:StatusBusiness类

/**

* 返回select框数据集合

* @param id

* @param action

* @return

*/

public List getSelectList(String id,String action){

//为文章结构清晰,以下代码省略

//此list为PO类user的集合

return list;

}

3、PO类

public class User extends BasePO

{

private String id;

private String name;

//getter and setter

}

4、AJAX:dwr处理

...页面中

不可见Div

可见div

在fireFox总image的宽度和长度都可以正常取到,但是在IE6中就出现如下现象:

1》将返回的str型html串加到body中已经有的div(可见)中可以取得img 的宽度,但是动态构建一个div元素,然后在该div元素上取得img的宽度则取到的宽度=0

2》同在body中的div,一个是可见,一个是不可见,同样的方法,一个可以取到width,一个取得的width=0,我估计是隐藏的那个div中img标签还没有加载图片,故width=0

曾在网上看到别人这样的问题:

JS获取图片的宽度和高度,然后根据这个数据判断,如果图片过大,就按比例缩小,如果在满足的范围内,就不做任何改动。

但是,现在碰到个问题,

就是获取图片地址后。

var image = new Image();

image.src = picUrl;

这样以后,

如果我直接使用image.width和image.height都是0

但是,如果我先用alert(image.src);

这样之后,再使用image.width和image.height,这样就能获得准确的图片的高度和宽度了。

解决方案是:

于是我觉得图片的宽度只有图片在加载完毕后才可以取到,如果

中的话,它是不会加载图片的。

kettle应用实践(转)

kettle应用实践(转) 今天早上在网上看到了kettle发布了最新的版本,忽然想起最近其实做了不少工作应该是ETL工具的拿手好戏,赶紧下载下来看看,看是否能够在实际的工作中应用起来。 顺便讲一下,为啥看到kettle会两眼发光。 最近写了好几个小程序,用于从一个ftp去获取数据,然后转发至另一个ftp去,或者是从一个数据库获取数据然后保存至本地的数据库中,使用的是jdk中的Timer实现的定时调度,本来也没什么问题,连续运行几个月都不会出错。 可是最近网络不是太好,周期性抽风,ping包时,每5分钟大概 会丢7-8个包,从而导致程序也会假死,过一段时间后就不正常干活了,估计是因为用了数据库连接池的问题,要是每次发起数据库连接可能就不会有问题了,偷懒也不想改了,因为网络最终肯定是会修好的 :-) 但是想试试ETL工具,因为后面还有一些类似的东西要处理,不想写代码了,用别人的轮子感觉比较好,呵呵 首先下载了kettle的最新版,kettle3.1,解压后即可运行,一般的开发人员稍微摸索一下,看看例子简单的转换还是会做的,今天小试了一把,有几个注意点记下来。 1.使用资源库(repository)登录时,默认的用户名和密码是admin/admin 2.当job是存放在资源库(一般资源库都使用数据库)中时,使用 Kitchen.bat执行job时,需使用如下的命令行: Kitchen.bat /rep kettle /user admin /pass admin /job job名 3.当job没有存放在资源库而存放在文件系统时,使用Kitchen.bat执行 job时,需使用如下的命令行: Kitchen.bat /norep /file user-transfer-job.kjb 4.可以使用命令行执行job后,就可以使用windows或linux的任务调度来 定时执行任务了 在一开始使用命令行方式执行job时,总是报如下的错误,琢磨了好长时间总算整明白正确的方式了。 Unexpected error during transformation metadata load No repository defined!

pentaho介绍

一、Pentaho 整体架构 cc 二、Client tools 1. Report Designer 报表创建工具。如果想创建复杂数据驱动的报表,这是合适工具。 2. Design Studio 这是基于eclipse的工具,你可以使用它来创建手工编辑的报表或分析视图xaction 文件,一般用来对在report designer中无法增加修改的报表进行修改。 3. Aggregation Designer 帮助改善Mondrian cube 性能的图形化工具。 4. Metadata Editor 用来添加定制的元数据层到已经存在的数据源。一般不需要,但是它对应业务用户在创建报表时解析数据库比较容易。 5. Pentaho Data Integration 这是kettle etl工具。 6. Schema Workbench 帮助你创建rolap的图形化工具。这是为分析准备数据的必须步骤。 三、Pentaho BI suit community editon安装 硬件要求: RAM:At least 2GB Hard drive space:At least 1GB Processor:Dual-core AMD64 or EM64T 软件要求: 需要JRE 1.5版本,1.4版本已经不再支持。 修改默认的端口8080,打开\biserver-ce\tomcat\conf目录下的server.xml文件,修改base-urlhttp://localhost:8080/pe ntaho中的端口号。否则administration-console中不能连接到bi server。 四、配置数据库连接 如果要是pentaho bi server能连接到关系数据库,需要将相应数据库driver的jar包拷贝到server/biserver-ce/tomcat/common/lib目录。 为了能在administration console中创建数据库连接并测试,需要将相应的数据库driver 的jar包拷贝到server/administration console/jdbc目录。下面是具体关系数据库连接设置说明。 1、连接oracle数据库。

Kettle命令行使用说明

Kettle命令行使用说明 1.KETTLE简介 说到ETL开源项目,Kettle当属翘首,项目名称很有意思,水壶。按项目负责人Matt 的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。呵呵,外国人都很有联想力。 看了提供的文档,然后对发布程序的简单试用后,可以很清楚得看到Kettle的四大块: 1)Chef——工作(job)设计工具(GUI方式) 2)Kitchen——工作(job)执行器(命令行方式) 3)Spoon——转换(transform)设计工具(GUI方式) 4)Span——转换(trasform)执行器(命令行方式) 1.1.Chef——工作(job)设计器 这是一个GUI工具,操作方式主要通过拖拖拉拉,勿庸多言,一看就会。 何谓工作?多个作业项,按特定的工作流串联起来,开成一项工作。正如:我的工作是软件开发。我的作业项是:设计、编码、测试!先设计,如果成功,则编码,否则继续设计,编码完成则开始设计,周而复始,作业完成。 1.1.1.Chef中的作业项包括: 1)转换:指定更细的转换任务,通过Spoon生成。通过Field来输入参数; 2)SQL:sql语句执行; 3)FTP:下载ftp文件; 4)邮件:发送邮件; 5)检查表是否存在; 6)检查文件是否存在; 7)执行shell脚本:如dos命令。 8)批处理:(注意:windows批处理不能有输出到控制台)。

9)Job包:作为嵌套作业使用。 10)JavaScript执行:这个比较有意思,我看了一下源码,如果你有自已的Script引擎, 可以很方便的替换成自定义Script,来扩充其功能; 11)SFTP:安全的Ftp协议传输; 12)HTTP方式的上/下传。 1.1. 2.工作流 如上文所述,工作流是作业项的连接方式。分为三种:无条件,成功,失败,为了方便工作流使用,KETTLE提供了几个辅助结点单元(也可将其作为简单的作业项):Start单元:任务必须由此开始。设计作业时,以此为起点。 OK单元:可以编制做为中间任务单元,且进行脚本编制,用来控制流程。 ERROR单元:用途同上。 DUMMY单元:什么都不做,主要是用来支持多分支的情况,文档中有例子。 1.1.3.存储方式 支持XML存储,或存储到指定数据库中。 一些默认的配置(如数据库存储位置……),在系统的用户目录下,单独建立了一个.Kettle 目录,用来保存用户的这些设置。 1.1.4.LogView 可查看执行日志。 1.2.Kitchen——作业执行器 是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,没啥可讲的,就把它的参数说明列一下。 1)-rep:Repositoryname任务包所在存储名 2)-user:Repositoryusername执行人 3)-pass:Repositorypassword执行人密码

ETL工具kettl应用说明

Kettle工具在实际中的应用说明 一:资源库的设置 Kettle提供了两种资源库的选择方式:数据库存放、本地文件存放。 数据库 该方式是通过数据库连接直接在数据库里面创建kettle表,表里面记录着你所做的任何保存过的记录以及转换和任务。此方法是远程存放的方式,具有可多人共享一个资源库的优势,但是也存在资源库不稳定的缺点。 以下就数据库资源库具体怎么实现做一下介绍: 第一: 在tools选项下面有 在资源库选项里面有连接资源库选项,点击之后会出现如下界面:

刚开始的时候是没用任何连接的,需要根据自己的需要选择创建。 笔:修改资源库连接 加:添加新的资源库 叉:删除选中资源库 点那个加号图标就可以进入到新建选项页面: 在中间的显示栏中:第一行代表着写入到数据库的资源库、第二行代表着保存到本地的资源库。 点击第一行进入如下界面:

点击新建按钮将会新建数据库连接,如果已经有你需要的数据库连接也可以选择你需要的。 上面就是新建数据库页面,根据你的需要选择具体的数据库连接方式,填写好完成之后点击一下测试按钮,就可以知道数据库连接是否成功。 到这里,资源库的连接已经做了一半了。接下来介绍另一半要做的事情。

回到这个页面,填写唯一的ID、名称,然后点击创建或更新按钮,之后会出现一些SQL语句,执行这些语句,如果成功的话就创建成功了,如果失败则要检查一下数据库。最后点击确定按钮就成功了。 这个时候就可以连接资源库了。 选择你创建的资源库,admin用户的默认密码是admin ,点击OK就行了。

本地 接下来简单介绍一下本地资源库,其实是很简单的。 选择第二行。将会看到如下页面: 这个就是本地的页面,比数据库简单多了,选择一下存放路径,给它一个ID号和名称,点击OK就可以了。 资源库建好之后就会进入到主页面了: 这个就是主页面了,表面上是空空如也的。 关于资源库的设置就就讲到这里了,关于更多的介绍请参照官方说明文档!

kettle公司内部培训手册

Kettle 培训手册 一、Etl 介绍 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于金融IT 来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。 Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高 效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针 对数据的基础转换,job则完成整个工作流的控制。 二、kettle 部署运行 将kettle2.5.1文件夹拷贝到本地路径,例如D 盘根目录。 双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面: 稍等几秒

选择没有资源库,打开kettle主界面 创建transformation,job

点击页面左上角的创建一个新的transformation,点击保存到本地路 径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation 文件保存后后缀名为ktr 点击页面左上角的创建一个新的job,点击保存到本地路径,例如保 存到D:/etltest下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb 创建数据库连接 在transformation页面下,点击左边的【Main Tree】,双击【DB连接】,进行 数据库连接配置。 connection name自命名连接名称 Connection type选择需要连接的数据库 Method of access选择连接类型 Server host name写入数据库服务器的ip地址 Database name写入数据库名 Port number写入端口号 Username写入用户名 Password写入密码 例如如下配置:

kettle入门例子大全

Kettle 培训技术文档0507 Etl 介绍 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于金融IT 来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。 Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高 效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针 对数据的基础转换,job则完成整个工作流的控制。 kettle 部署运行 将kettle2.5.1文件夹拷贝到本地路径,例如D 盘根目录。 双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面:

稍等几秒 选择没有资源库,打开kettle主界面

创建transformation,job 点击页面左上角的创建一个新的transformation,点击保存到本地路 径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation 文件保存后后缀名为ktr 点击页面左上角的创建一个新的job,点击保存到本地路径,例如保 存到D:/etltest下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb 创建数据库连接 在transformation页面下,点击左边的【Main Tree】,双击【DB连接】,进行 数据库连接配置。

connection name自命名连接名称Connection type选择需要连接的数据库Method of access选择连接类型 Server host name写入数据库服务器的ip地址Database name写入数据库名 Port number写入端口号 Username写入用户名 Password写入密码 例如如下配置:

英语词根词缀大全

indeed ad. 真正地;确实,实在 deed n. 行为,行动;功绩;契约 相关单词act vi. 行为,做;起作用 n. 行为 ag,act=to act(行动) agency n. 代理;代理处 agent n. 代理人,代理商 agony n. 极度痛苦 action n. 行动;作用 active a. 活跃的,积极的;在活动中的 activity n. 活动,活跃;行动 actor n. 男演员 actress n. 女演员 actual a. 实际的,事实的 actually ad. 实际上;竟然 react vi. 起作用,反应;反对,起反作用;起化学反应 reaction n. (to)反应;反作用 exact a. 确切的,精确的 exactly ad. 确切地;恰恰正是,确实 interaction n. 相互作用,相互影响 inter=between,among interfere vi. 干涉,介入;阻碍,干扰 interference n. 干涉,介入;阻碍,干扰 interior a. 内部的;内地的,国内的 n. 内部;内地 intermediate a. 中间的;中级的 n. 中间体,媒介物 interpret vt. 解释,说明 vi. 口译,翻译 interpretation n. 解释,口译 interpreter n. 译员,口译者 interview n./v. 接见,会见;面谈,面试 interval n. 间隔,间距;(幕间)休息 internal a. 内的,内部的;国内的,内政的 相关单词 external a. 外部的,外面的 ex-=fully,out exterior a. 外部的,外面的 n. 外部 explain v. 解释,说明 example n. 例子;榜样,模范 形近单词 sample vt. 抽样,取样 词根词缀组2 block n.街区;木块;障碍物; vt.堵塞,拦阻 barrier n.屏障;障碍 bar=bar(横木) embarrass vt.使窘迫,使为难 bar n.酒吧间,售酒的柜台;条,杆;栅,栏; vt.阻止,阻拦 barrel n.桶,筒 与“容器”相关的单词

pentaho-Kettle安装及使用说明(例子)

Kettle安装及使用说明 1.什么Kettle? Kettle是一个开源的ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)项目,项目名很有意思,水壶。按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。Kettle包括三大块: Spoon——转换/工作(transform/job)设计工具(GUI方式) Kitchen——工作(job)执行器(命令行方式) Span——转换(trasform)执行器(命令行方式) Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高 效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 2.Kettle简单例子 2.1下载及安装Kettle 下载地址:https://www.doczj.com/doc/266443041.html,/projects/pentaho/files 现在最新的版本是 3.6,为了统一版本,建议下载 3.2,即下载这个文件pdi-ce-3.2.0-stable.zip。 解压下载下来的文件,把它放在D:\下面。在D:\data-integration文件夹里,我们就可以看到Kettle的启动文件Kettle.exe或Spoon.bat。 2.2 启动Kettle 点击D:\data-integration\下面的Kettle.exe或Spoon.bat,过一会儿,就会出现Kettle的欢迎界面:

稍等几秒,就会出现Kettle的主界面: 2.3 创建transformation过程 a.配置数据环境 在做这个例子之前,我们需要先配置一下数据源,这个例子中,我们用到了三个数据库,分别是:Oracle、MySql、SQLServer,以及一个文本文件。而且都放置在不同的主机上。 Oralce:ip地址为192.168.1.103,Oracle的实例名为scgtoa,创建语句为:create table userInfo( id int primary key,

Kettle使用手册

Kettle培训手册 Etl介绍 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于金融IT来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。 Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 kettle部署运行 将kettle2.5.1文件夹拷贝到本地路径,例如D盘根目录。 双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面:

稍等几秒 选择没有资源库,打开kettle主界面

创建transformation,job 点击页面左上角的解并到本地路径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation 文件保存后后缀名为ktr 点击页面左上角的解并到本地路径,例如保存到D:/etltest下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb 创建数据库连接

在transformation页面下,点击左边的【Main Tree】,双击【DB连接】,进行数据库连接配置。 Connection name自命名连接名称 Connection type选择需要连接的数据库 Method of access选择连接类型 Server host name写入数据库服务器的ip地址 Database name写入数据库名 Port number写入端口号 Username写入用户名 Password写入密码 例如如下配置:

ETL动态转换

摘要:本文主要讨论使用Kettle来设计一些较为复杂和动态的转换可能使用到的一些技巧,这些技巧可能会让你在使用Kettle的时候更加容易的设计更强大的ETL任务。 动态参数的传递 Kettle 在处理运行时输入参数可以使用JavaScript 来实现,大部分工作只是按照一个模板来处理的 动态参数传递主要使用在像数据清理,调式,测试,完成复杂的条件过滤等等,这种方式一般不会在产品已经运行稳定了一段时间之后使用,因为我们一般仍然是做定时任务来自动转换数据,所以在开始介绍如何使用动态参数之前,希望大家能明白不要在产品数据库上做实验,即使你已经知道你的转换有什么影响并且做了备份,因为这种方法是不可能自动执行的。 Kettle有两种动态参数传递的方法,一种是非常轻量级的传argument , 另一种是对付较复杂一点情况使用JavaScript . 下面分别介绍这两种方法。 1. argument 当你在运行一个转换的时候,不管这个转换是一个Job的一部分还是只有这个转换,你都可以传递参数给它,当你运行一个转换的时候,会弹出一个Execution a Transformation 的对话框,让你选择执行转换的方式,本地执行,远程执行,分布式执行,下面就是日志记录的级别和回放时间,然后是argument 和variables 的设定。Argument 和 variables 的区别在官方FAQ里面也有解释。你也可以参考一下官方的解释和下面解释的异同。 Q : Argument 和 variables 的区别 / A : variables 也可以认为叫做environment variables , 就像它的名字一样,主要是用来设定环境变量的,比如最常见的:文件的存放地址,smtp的配置等等,你也可以把它认为是编程语言里面的全局变量,即使是不同的转换它们也拥有同样的值,而argument 自然就类似与局部变量,只针对一个特定的转换,比如像是限定结果集的大小和过滤条件。 取得argument的值 我们在转换之前设置了argument的值,需要用到的时候就使用get system info 步骤,这个步骤取得在运行时参数,需要注意的是我们是先设置get system info ,然后在里面决定要使用多少个参数,最多10个,每个参数名叫什么,然后我们才能在运行时看到你设置了的参数名后面跟一个要你输入的值,并且参数类型是不能够指定,全部都当作字符串处理,如果你需要对参数类型有要求,你需要自己转换,使用一个Mapping步骤或者Select values步骤。 取得variable的值 Variable的值个数不受限制,你可以在kettle菜单的set environment里面设置,也可以使用文件储存这些值,在第一次运行kettle之后,kettle会 在%HOME_USER_FOLDER%菜单里面创建一个 .kettle文件夹,如果是windows 用户可能就是C:\Documents and Settings\${your user name}\.kettle这个文件夹,如果是linux用户可能就是/home/${your user name }/.kettle文件夹,这个文件夹下面有kettle.properties文件,如果你打开这个文件,你会发现里面有一些以#开头的注释,其中设置了一些像是:PRODUCTION_SERVER = Hercules 这样的键值对,你可以自己定义一些环境变量比如像是smtp的地址,ftp服务器

kettle

Kettle 学习 1:资源库的两种形式 Kettle database repository :数据库资源库 Kettle file repository :文件资源库,保存在服务器硬盘中 2:kettle中的转换和作业 Kettle中有两种脚本文件,transformation(.ktr)和job(.kjb) 作业:分为串行执行和并行执行,同一条线上的两个步骤会先执行前面的再执行后面的,每个步骤分为:true和false 3.表对表的例子 字段选择可以对字段筛选、转型、更名等。 4文件到表的例子 5 表到文件的例子 6 JAVASRIPT的例子 变量定义 var jsStr = “hello world”; Var javastr = new https://www.doczj.com/doc/266443041.html,ng.String(“java.String”); writeToLog(“m”,str);//打印字符串到日志中 Var num = 1; Var arr = new Array(); Arr.push(“添加元素到数组末尾”); Var arr1 = new Array(3,”FTPDW”); If语法 Var bool =true; If(bool){ Alert(“正确”)} Else{ Alert(“错误”)} For语法 Var arr = new Array(1,”2”,”this i s string”); For(var i =0 ;i

If(arr[i]==2) {alert(“the value is ”+arr[i])}} 方法定义 Var str = “shj” Function sayHello(name){ If(name==null) Return “hello”+str; Else Return “hello”+name } writeToLog(“m”,sayHello()); 异常处理: Try{ Var value =100/0; }catch(e){ Throw new https://www.doczj.com/doc/266443041.html,ng.Exception(“除数不能为0”+e)}//防止未知错误的产生所采取的措施,异常处理的好处不用绞尽脑汁的考虑各种错误 7.FTP的文件上传和下载 8.合并连接 Job:把一个或多个tansformation按照一定的顺序组合起来,形成一个流程 1 .开始(start) 2 什么时候用job 如果转换需要定时,那么就必须用job,多个transformation 需要组成一个流程时也必须使用job 3.kettle的日志输出 日志输出是检查程序的重要手段,也是程序维护的必不可少的环节 Kettle在日志输出方面有很好的控制功能,kettle日志输出共分为7个等级:没有日志

Kettle5.x使用步骤带案例超详细版精编版

Kettle使用方法介绍 1、Kettle概念 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix 上运行,绿色无需安装,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 2、下载和部署 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可 3、Kettle环境配置 1.安装JDK(略) 2.测试JDK安装成功(略) 3.运行Kettle Windows下找到$KETTLE_HOME/spoon.dat,双击运行 欢迎界面如下图所示:

4、KETTLE组件介绍与使用 4.1 Kettle使用 Kettle提供了资源库的方式来整合所有的工作,; 1)创建一个新的transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr; 2)创建一个新的job,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Job,kettle默认job文件保存后后缀名为kjb; 4.2 组件树介绍 4.2.1Transformation 的主对象树和核心对象分别如下图:

KETTLE 资源库配置方法

资料库配置方法tiyukeji@https://www.doczj.com/doc/266443041.html, 说明:资源配置库是为了存储KETTLE 所有对象的数据库。类似于一个CS 界面化程序。 在我们建立的所有对象,以及对象之间的关系都会存储在数据库表中。这样在做数平台转移测试环境搭建时就比较方便,只需把资源库数据备份文件导入就新的数据中就可以了,并且在调试数据作业、监控作业运行结果时很方便。 在使用过程中遇到过几个怪异的问题,在这里提一下: ●KETTLE 有的时候出现很多的错误。这时候就把你用户下的,如:JA V A空指针,那就 把C:\Documents and Settings\tanhongwei-ghq 下的.kettle .pentaho 删除掉。 ●在建立共享控件的时候,命名要用英文的。如果不用的话就会报错,如果报错,那就要 把C:\Documents and Settings\tanhongwei-ghq\.kettle\shared.xml 用UE打开,把乱码手动更改一下就可以了。 ●做JOB 日志跟踪的时候,数据库连接要用JDBC的连接方式。有好的时候KETTLE 只 支持JDBC 的连接方式,所以在做其他连接的时候,能用JDBC 最好用这个。 简要介绍一下资料库的配置方法: ●运行Spoon.bat ●点击新建按钮

再次点击新建按钮

●填写相应配置信息,这个就是要建立资源库的配置界面,要注意的是Access 选项, KETTLE 只支持JDBC配置资源库方式。 ●配置完毕后,可以点击TEST 按钮。测试一下,在测试完毕后,点击OK ,再点击OK

填写一些名称:(这个随便写一个就行)

ETL及kettle介绍word版本

E T L及k e t t l e介绍

目录 1. ETL知识 (3) 1.1. ETL定义 (3) 1.1.1. 定义 (3) 1.1.2. 前提 (3) 1.1.3. 原则 (3) 1.2. 模式及比较 (4) 1.3. ETL过程 (7) 1.3.1. 总流程 (7) 1.3.2. 数据抽取流程 (8) 1.3.3. 数据清洗流程 (8) 1.3.4. 数据转换流程 (10) 1.3.5. 数据加载流程 (11) 1.4. 问题分析 (12) 1.4.1. 字符集问题 (12) 1.4.2. 缓慢变化维处理 (13) 1.4.3. 增量、实时同步的处理 (13) 1.4.4. 断点续传 (14) 1.5. ETL工具 (14) 2. Kettle简介及使用 (15) 2.1. 什么Kettle? (15) 2.2. 下载及安装Kettle (15) 2.3. Kettle简单例子 (17) 2.3.1.启动Kettle (17) 2.3.2.创建transformation过程 (18) 2.3.3.创建job过程 (38) 2.3.4.命令行运行ktr和kjb (42)

1.ETL知识 1.1.ETL定义 1.1.1.定义 ●定义: 数据的抽取(Extract)、转换(Transform)、装载(Load)的过程。 ●目标: 数据优化。以最小代价(包括对日常操作的影响和对技能的要求) 将针对日常业务操作的数据转化为针对数据仓库而存储的决策支持型数据。 1.1. 2.前提 ●确定ETL范围 通过对目标表信息的收集,确定ETL的范围 ●选择ETL工具 考虑资金 运行的平台、对源和目标的支持程度、可编程的灵活性、对源数据变化的监测、数据处理时间的控制、管理和调度功能、对异常情况的处理 ●确定解决方案 抽取分析、变化数据的捕获、目标表的刷新策略、数据的转换及数据验证 1.1.3.原则 ●应尽量利用数据中转区对运营数据进行预处理。保证数据的安全性、集 成与加载的高效性。 ●ETL的过程应是主动“拉取”,而不是从内部“推送”,其可控性将大 为增强。 ●流程化的配置管理和标准协议 ●数据质量的保证 正确性(Accuracy):数据是否正确体现在现实或可证实的来源 完整性(Integrity):数据之间的参照完整性是否存在或一致

ETL工具kettl实际中的一些应用说明

Kettle工具在实际中的一些应用说明 这里我就kettle工具在实际当中的一些应用做一些简单的说明,关于kettle工具的各个选项说明请参照以下文档。 一:资源库的设置 Kettle提供了两种资源库的选择方式:数据库存放、本地文件存放。 数据库 该方式是通过数据库连接直接在数据库里面创建kettle表,表里面记录着你所做的任何保存过的记录以及转换和任务。此方法是远程存放的方式,具有可多人共享一个资源库的优势,但是也存在资源库不稳定的缺点。 以下就数据库资源库具体怎么实现做一下介绍: 第一: 在tools选项下面有 在资源库选项里面有连接资源库选项,点击之后会出现如下界面:

刚开始的时候是没用任何连接的,需要根据自己的需要选择创建。 笔:修改资源库连接 加:添加新的资源库 叉:删除选中资源库 点那个加号图标就可以进入到新建选项页面: 在中间的显示栏中:第一行代表着写入到数据库的资源库、第二行代表着保存到本地的资源库。 点击第一行进入如下界面:

点击新建按钮将会新建数据库连接,如果已经有你需要的数据库连接也可以选择你需要的。 上面就是新建数据库页面,根据你的需要选择具体的数据库连接方式,填写好完成之后点击一下测试按钮,就可以知道数据库连接是否成功。 到这里,资源库的连接已经做了一半了。接下来介绍另一半要做的事情。

回到这个页面,填写唯一的ID、名称,然后点击创建或更新按钮,之后会出现一些SQL语句,执行这些语句,如果成功的话就创建成功了,如果失败则要检查一下数据库。最后点击确定按钮就成功了。 这个时候就可以连接资源库了。 选择你创建的资源库,admin用户的默认密码是admin ,点击OK就行了。

ETL工具Kettle用户手册及Kettle5.x使用步骤带案例超详细版教学文稿

E T L工具K e t t l e用户手册及K e t t l e5.x 使用步骤带案例超详 细版

ETL工具Kettle用户手册 之 Spoon 2.5.0用户手册 ETL工具Kettle用户手册 (2) 之 (2) Spoon 2.5.0用户手册 (2) 1、Spoon介绍 (21) 1、1什么是Spoon (21) 1、2安装 (22) 1、3运行Spoon (22) 1、4资源库 (22) 1、5资源库自动登录 (23) 1、6定义 (23) 1、6、1转换 (23) 1、6、2任务 (24) 1、7工具栏 (25) 1、8选项 (25) 1、8、1 General标签 (26) 1、8、2 Look Feel标签 (27) 1、9搜索元数据 (28) 1、10设置环境变量 (29) 2、创建一个转换或任务(Creating a Transformation or Job) (29) 3、数据库连接(Database Connections) (30) 3、1描述 (30) 3、2 设置窗口 (31) 3、3选项 (31) 3、4数据库用法 (31) 4、SQL编辑器(SQL Editor) (32) 4、1描述 (32) 4、2屏幕截图 (33) 4、3局限性 (33) 5、数据库浏览器(Database Explorer) (33) 5、1屏幕截图 (33) 5、2描述 (34)

6、节点连接(Hops) (35) 6、1描述 (35) 6、1、1转换连接 (35) 6、1、2任务连接 (35) 6、2屏幕截图 (35) 6、3创建一个连接 (36) 6、4拆分一个连接 (36) 6、5转换连接颜色 (36) 7、变量(Variables) (37) 7、1变量使用 (37) 7、2变量范围 (37) 7、2、1环境变量 (37) 7、2、2 Kettle变量 (38) 7、2、3内部变量 (38) 8、转换设置(Transformation Settings) (38) 8、1描述 (38) 8、2屏幕截图 (39) 8、3选项 (42) 8、4其它 (43) 9、转换步骤(Transformation steps) (43) 9、1描述 (43) 9、2运行步骤的多个副本 (44) 9、3分发或者复制 (45) 9、4常用错误处理 (46) 9、5Apache虚拟文件系统(VFS)支持 (47) 9、6转换步骤类型 (49) 9、6、1文本文件输入(Text Input) (49) 9、6、1、1屏幕截图 (49) 9、6、1、2图标 (51) 9、6、1、3常用描述 (52) 9、6、1、4选项 (52) 9、6、1、5格式化 (58) 9、6、1、6其它 (60) 9、6、2表输入(Table Input) (61) 9、6、2、1屏幕截图 (61) 9、6、2、2图标 (61) 9、6、2、3常用描述 (61) 9、6、2、4选项 (62) 9、6、2、5示例 (62) 9、6、2、6其它 (63) 9、6、3获取系统信息(Get System Info) (64) 9、6、3、1屏幕截图 (64) 9、6、3、2图标 (65) 9、6、3、3常用描述 (65)

ETL利器KETTLE实战应用解析之KETTLE应用场景和实战DEMO

1、应用场景 这里简单概括一下几种具体的应用场景,按网络环境划分主要包括: ? 表视图模式:这种情况我们经常遇到,就是在同一网络环境下,我们对各种数据源的表数据进行抽取、过滤、清洗等,例如历史数据同步、异构系统数据交互、数据对称发布或备份等都归属于这个模式;传统的实现方式一般都要进行研发(一小部分例如两个相同表结构的表之间的数据同步,如果sqlserver数据库可以通过发布/订阅实现),涉及到一些复杂的一些业务逻辑如果我们研发出来还容易出各种bug; ? ? 前置机模式:这是一种典型的数据交换应用场景,数据交换的双方A和B网络不通,但是A和B都可以和前置机C连接,一般的情况是双方约定好前置机的数据结构,这个结构跟A和B的数据结构基本上是不一致的,这样我们就需要把应用上的数据按照数据标准推送到前置机上,这个研发工作量还是比较大的; ? ? 文件模式: 数据交互的双方A和B是完全的物理隔离,这样就只能通过以文件的方式来进行数据交互了,例如XML格式,在应用A中我们开发一个接口用来生成标准格式的XML,然后用优盘或者别的介质在某一时间把XML数据拷贝之后,然后接入到应用B上,应用B 上在按照标准接口解析相应的文件把数据接收过来; ? 综上3种模式如果我们都用传统的模式无疑工作量是巨大的,那么怎么做才能更高效更节省时间又不容易出错呢?答案是我们可以用一下Kettle-_-! 2、DEMO实战 2、1 实例1:数据库TestA中的UserA表到数据库TestB的UserB表 1)为方便演示,我这边把Sql脚本贴出来,大家直接复制在sqlserver中运行即可,sql脚本如下: 简单表之间交换 2)Kettle实现方式

ETL工具Kettle用户手册及Kettle5.x使用步骤带案例超详细版

ETL工具Kettle用户手册 之 Spoon 2.5.0用户手册 Spoon 2.5.0用户手册 (1) 1、Spoon介绍 (14) 1、1 什么是Spoon (14) 1、2 安装 (14) 1、3 运行Spoon (14) 1、4 资源库 (14) 1、5 资源库自动登录 (15) 1、6 定义 (15) 1、6、1 转换 (15) 1、6、2 任务 (16) 1、7 工具栏 (17) 1、8 选项 (17) 1、8、1 General标签 (18) 1、8、2 Look Feel标签 (19) 1、9 搜索元数据 (19) 1、10设置环境变量 (20) 2、创建一个转换或任务(Creating a Transformation or Job) (21) 3、数据库连接(Database Connections) (21) 3、1 描述 (21) 3、2 设置窗口 (22) 3、3 选项 (22) 3、4 数据库用法 (22) 4、SQL编辑器(SQL Editor) (23) 4、1 描述 (23) 4、2 屏幕截图 (23) 4、3 局限性 (24) 5、数据库浏览器(Database Explorer) (24) 5、1 屏幕截图 (24) 5、2 描述 (24) 6、节点连接(Hops) (25) 6、1 描述 (25) 6、1、1 转换连接 (25)

6、2 屏幕截图 (25) 6、3 创建一个连接 (26) 6、4 拆分一个连接 (26) 6、5 转换连接颜色 (26) 7、变量(Variables) (27) 7、1 变量使用 (27) 7、2 变量范围 (27) 7、2、1 环境变量 (27) 7、2、2 Kettle变量 (27) 7、2、3 内部变量 (27) 8、转换设置(Transformation Settings) (28) 8、1 描述 (28) 8、2 屏幕截图 (29) 8、3 选项 (32) 8、4 其它 (33) 9、转换步骤(Transformation steps) (33) 9、1 描述 (33) 9、2 运行步骤的多个副本 (33) 9、3 分发或者复制 (35) 9、4 常用错误处理 (35) 9、5 Apache虚拟文件系统(VFS)支持 (37) 9、6 转换步骤类型 (39) 9、6、1 文本文件输入(Text Input) (39) 9、6、1、1 屏幕截图 (39) 9、6、1、2 图标 (41) 9、6、1、3 常用描述 (42) 9、6、1、4 选项 (42) 9、6、1、5 格式化 (47) 9、6、1、6 其它 (48) 9、6、2 表输入(Table Input) (49) 9、6、2、1 屏幕截图 (49) 9、6、2、2 图标 (49) 9、6、2、3 常用描述 (49) 9、6、2、4 选项 (50) 9、6、2、5 示例 (50) 9、6、2、6 其它 (51) 9、6、3 获取系统信息(Get System Info) (51) 9、6、3、1 屏幕截图 (51) 9、6、3、2 图标 (52) 9、6、3、3 常用描述 (52) 9、6、3、4 选项 (53) 9、6、3、5 用法 (53) 9、6、4 生成行(Generate Rows) (54)

ETL及kettle介绍

目录 1. ETL知识 .........................................................................................................错误!未定义书签。 1.1. ETL定义 ..............................................................................................错误!未定义书签。 定义..................................................................................................错误!未定义书签。 前提..................................................................................................错误!未定义书签。 原则..................................................................................................错误!未定义书签。 1.2. 模式及比较........................................................................................错误!未定义书签。 1.3. ETL过程 ..............................................................................................错误!未定义书签。 总流程..............................................................................................错误!未定义书签。 数据抽取流程..................................................................................错误!未定义书签。 数据清洗流程..................................................................................错误!未定义书签。 数据转换流程..................................................................................错误!未定义书签。 数据加载流程..................................................................................错误!未定义书签。 1.4. 问题分析............................................................................................错误!未定义书签。 字符集问题......................................................................................错误!未定义书签。 缓慢变化维处理..............................................................................错误!未定义书签。 增量、实时同步的处理..................................................................错误!未定义书签。 断点续传..........................................................................................错误!未定义书签。 1.5. ETL工具 ..............................................................................................错误!未定义书签。 2. Kettle简介及使用 .........................................................................................错误!未定义书签。 2.1. 什么Kettle? .....................................................................................错误!未定义书签。 2.2. 下载及安装Kettle .............................................................................错误!未定义书签。 2.3. Kettle简单例子 ..................................................................................错误!未定义书签。 启动Kettle .......................................................................................错误!未定义书签。 创建transformation过程 ...............................................................错误!未定义书签。 创建job过程 ..................................................................................错误!未定义书签。 命令行运行ktr和kjb .....................................................................错误!未定义书签。 1.ETL知识 1.1.ETL定义 1.1.1.定义 ●定义: 数据的抽取(Extract)、转换(Transform)、装载(Load)的过程。 ●目标: 数据优化。以最小代价(包括对日常操作的影响和对技能的要求) 将针对日常业务操作的数据转化为针对数据仓库而存储的决策支持型数据。

相关主题
相关文档 最新文档