设为首页 加入收藏

TOP

详解kettle之UserDefinedJavaClass步骤(二)(二)
2015-07-24 10:26:35 来源: 作者: 【 】 浏览:4
Tags:详解 kettle UserDefinedJavaClass 步骤
Send the row on to the next step.

putRow(data.outputRowMeta, r);

?

return true;

}

\

调用findInfoRowSet()方法,返回在udjc步骤的消息步骤中定义的名称对应的输入步骤的整个行集内容。从行集内容中读取某行与从主数据流中去某行不同,通过调用getRowFrom(),并显示指明那个行集。

示例转换的名称为info_steps.ktr.

?

使用目标步骤(Target Steps)

使用udjc步骤有时可能需要指定行集流转到不同的目标步骤。通过调用putRow()方法,并传递一个目标步骤作为参数。我们需要在udjc步骤的ui界面的目标步骤中定义所有可能的目标步骤,下面示例中随机分发行数据到不同弄的目标步骤。

findTargetRowSet()方法返回在ui界面中定义的目标步骤行集,并作为putRowto()方法的参数.示例转换的名称为target_steps.ktr.

\

代码如下:

import java.util.regex.Pattern;

import java.util.*;

?

private RowSet lowProbStream = null;

private RowSet highProbStream = null;

?

public boolean processRow(StepMetaInterfacesmi, StepDataInterface sdi) throws KettleException

{

Object[]r = getRow();

?

if(r == null) {

setOutputDone();

returnfalse;

}

?

//prepare regex and field helpers

if (first){

first = false;

lowProbStream= findTargetRowSet("low_probability");

highProbStream= findTargetRowSet("high_probability");

}

?

//Send the row on to the next step.

if(Math.random() < 0.35){

putRowTo(data.outputRowMeta, r,lowProbStream);

}

else{

putRowTo(data.outputRowMeta, r,highProbStream);

}

?

returntrue;

}

\

?

更多内容请查看第三部分;

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Chapter1SecuringYourServerandNe.. 下一篇【数据挖掘导论】――数据类型

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python爬虫教程(从 (2025-12-26 16:49:14)
·【全269集】B站最详 (2025-12-26 16:49:11)
·Python爬虫详解:原 (2025-12-26 16:49:09)
·Spring Boot Java: (2025-12-26 16:20:19)
·Spring BootでHello (2025-12-26 16:20:15)