⌘CtrlK
Appearance
Appearance
JAVA 组件允许输入用户定义的Java类来完成步骤的功能。该组件的目标是不允许用户在步骤内进行全面的 Java 开发。允许用户用尽可能少的代码定义方法和逻辑,并尽可能快地执行。
JAVA组件编写 Java 程序,采用 Java 组件中所提供的方法类似于组件开发的内容,是组件开发的一个子集,仅能够实现组件开发的 processRow 方法、init 方法和 dispose 方法。
| 配置名称 | 数据类型 | 是否必须 | 默认值 | 描述 |
|---|---|---|---|---|
| 节点名称 | String | 是 | - | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
| 字段列表 | String | 是 | - | 当有java程序中有新增字段生成输出,需在该处指定新生成字段相关信息。 |
| 参数列表 | String | 是 | - | 定义输入参数,例如,指定从输入流中获取值的字段名称。 |
| 消息步骤 | String | 是 | - | 指定输入流来源步骤。 |
| 目标步骤 | String | 是 | - | 指定输入流输出步骤。 |
| Code Snippits/Common use | String | 是 | - | Main:生成主类模板。init:定义一些初始化资源。dispose:正常执行完毕还是异常执行完毕,调用该方法,可用于释放资源。 |
方法说明:
方法说明:生成processRow方法默认实现,用于进行数据转换操作,该方法只要上一个步骤有数据传递过来,会一直执行该方法,直到上一个步骤传递过来的数据被全部处理完。
方法使用:
public boolean processRow(StepMetaInterface smi,StepDataInterface sdi) throws DataInterfaceException{
Object[] r = getRow();
if(r == null){
setOutputDone();
return false;
}
if(first){
first = false;
}
r = createOutputRow(r,data.outputRowMeta.size());
putRow(data.outputRowMeta,r);
return true;
}方法说明:生成init方法默认实现,用于数据初始化,在进行init方法之后才会执行processRow方法。
方法使用:
public void init(StepMetaInterface smi,StepDataInterface sdi){
parent.init(smi,sdi);
}方法说明:生成dispose方法默认实现,用于在数据转换完成后的数据关闭操作,执行完processRow方法后才会调用该方法。
方法使用:
public void dispose(StepMetaInterface smi,StepDataInterface sdi){
parent.dispose(smi,sdi);
}方法说明:该方法能够获取上一个步骤处理完后的一行数据,这个方一般在processRow方法中使用。
方法使用:Object[] row = getRow();
方法说明:该方法能够获取上一个特定步骤处理完后的一行数据,这个方一般在processRow方法中使用。
方法使用:Object[] row = getRowFrom(rowSet);
方法说明:这个方法用于将处理完成后的记录传递给下一个步骤,这个方一般在processRow方法中使用。
方法使用:putRow(data,outputRowMeta,r);
方法说明:这个方法用于将处理完成后的记录传递给下一个特定步骤,这个方一般在processRow方法中使用。
方法使用:putRowTo(rowMeta,row,rowSet);
方法说明:这个方法是在处理数据时如果遇到异常产生错误信息后,将错误信息传递给异常连线的步骤时使用,这个方一般在processRow方法中使用。
方法使用:putError(rowMeta,row,nrErrors,errorDescriptions,fieldNames,erroeCodes);
方法说明:这个方法是在处理数据时如果遇到异常产生错误信息后停止作业执行,这个方一般在processRow方法中使用。
方法使用:setErrors(1);
方法说明:这个方法用于停止转换运行,这个方一般在processRow方法中使用。
方法使用:stopAll();
方法说明:这个方法用于步骤处理完数据时停止步骤运行,这个方一般在processRow方法中使用。
方法使用:setOutputDone();
方法说明:这个方法用于获取变量值,这个方一般在processRow方法中使用。
方法使用:String getVariable = getVariable(variableName,defaultValue);
方法说明:这个方法用于检查处理记录数,这个方一般在processRow方法中使用。
方法使用:boolean checkFeedback = checkFeedback(lines);
方法说明:这个方法用于添加结果文件,这个方一般在processRow方法中使用。
方法使用:addResultFile(resultFile);
方法说明:这个方法用于获取结果文件,这个方一般在processRow方法中使用。
方法使用:Map getResultFiles = getResultFiles();
方法说明:这个方法用于添加输入记录数,这个方一般在processRow方法中使用。
方法使用:long incrementLinesInput = incrementLinesInput();
方法说明:这个方法用于添加输出记录数,这个方一般在processRow方法中使用。
方法使用:long incrementLinesOutput = incrementLinesOutput();
方法说明:这个方法用于添加读取记录数,这个方一般在processRow方法中使用。
方法使用:long incrementLinesRead = incrementLinesRead();
方法说明:这个方法用于添加拒绝记录数,这个方一般在processRow方法中使用。
方法使用:long incrementLinesRejected = incrementLinesRejected();
方法说明:这个方法用于添加错误记录数,这个方一般在processRow方法中使用。
方法使用:long incrementLinesSkipped = incrementLinesSkipped();
方法说明:这个方法用于添加更新记录数,这个方一般在processRow方法中使用。
方法使用:long incrementLinesUpdated = incrementLinesUpdated();
方法说明:这个方法用于添加写记录数,这个方一般在processRow方法中使用。
方法使用:long incrementLinesWritten = incrementLinesWritten();
方法说明:这个方法用于获取输入记录数,这个方一般在processRow方法中使用。
方法使用:long getLinesInput = getLinesInput();
方法说明:这个方法用于获取输出记录数,这个方一般在processRow方法中使用。
方法使用:long getLinesOutput = getLinesOutput();
方法说明:这个方法用于获取读取记录数,这个方一般在processRow方法中使用。
方法使用:long getLinesRead = getLinesRead();
方法说明:这个方法用于获取拒绝记录数,这个方一般在processRow方法中使用。
方法使用:long getLinesRejected = getLinesRejected();
方法说明:这个方法用于获取错误记录数,这个方一般在processRow方法中使用。
方法使用:long getLinesSkipped = getLinesSkipped();
方法说明:这个方法用于获取更新记录数,这个方一般在processRow方法中使用。
方法使用:long getLinesUpdated = getLinesUpdated();
方法说明:这个方法用于获取写记录数,这个方一般在processRow方法中使用。
方法使用:long getLinesWritten = getLinesWritten();
方法说明:这个方法用于获取处理记录数,这个方一般在processRow方法中使用。
方法使用:long getProcessed = getProcessed();
方法说明:这个方法用于获取执行状态,这个方一般在processRow方法中使用。
方法使用:StepExecutionStatus getStatus = getStatus();
方法说明:这个方法用于获取执行状态描述,这个方一般在processRow方法中使用。
方法使用:String getStatusDescription = getStatusDescription();
方法说明:这个方法用于设置输入操作数,这个方一般在processRow方法中使用。
方法使用:setLinesInput(newLinesInputValue);
方法说明:这个方法用于设置输出操作数,这个方一般在processRow方法中使用。
方法使用:setLinesOutput(newLinesOutputValue);
方法说明:这个方法用于设置读取操作数,这个方一般在processRow方法中使用。
方法使用:setLinesRead(newLinesReadValue);
方法说明:这个方法用于设置拒绝操作数,这个方一般在processRow方法中使用。
方法使用:setLinesRejected(linesRejected);
方法说明:这个方法用于设置错误操作数,这个方一般在processRow方法中使用。
方法使用:setLinesSkipped(newLinesSkippedValue);
方法说明:这个方法用于设置更新操作数,这个方一般在processRow方法中使用。
方法使用:setLinesUpdated(newLinesUpdatedValue);
方法说明:这个方法用于设置写操作数,这个方一般在processRow方法中使用。
方法使用:setLinesWritten(newLinesWrittenValue);
方法说明:这个方法用于记录基本日志。
方法使用:logBasic(msg);
方法说明:这个方法用于记录调试日志。
方法使用:logDebug(msg);
方法说明:这个方法用于记录详细日志。
方法使用:logDetailed(msg);
方法说明:这个方法用于记录错误日志。
方法使用:logError(msg);logError(msg,e);
方法说明:这个方法用于记录最小日志。
方法使用:logMinimal(msg);
方法说明:这个方法用于记录行级日志。
方法使用:logRowlevel(msg);
方法说明:这个方法用于添加行监听器。
方法使用:addRowListener(rowListener);
方法说明:这个方法用于添加步骤监听器。
方法使用:addStepListener(stepListener);
方法说明:这个方法用于获取行监听器。
方法使用:List getRowListeners = getRowListeners();
方法说明:这个方法用于获取步骤监听器。
方法使用:List getStepListeners = getStepListeners();
方法说明:这个方法用于删除行监听器。
方法使用:removeRowListener(rowListener);
方法说明:这个方法用于获取行的元数据。
方法使用:RowMetaInterface getInputRowMeta = getInputRowMeta();
方法说明:这个方法用于获取异常行的元数据。
方法使用:RowMetaInterface getErrorRowMeta = getErrorRowMeta();
方法说明:这个方法用于获取上一步骤集合。
方法使用:List getInputRowSets = getInputRowSets();
方法说明:这个方法用于获取下一步骤集合。
方法使用:List getOutputRowSets = getOutputRowSets();
方法说明:这个方法用于查找上一步骤。
方法使用:RowSet findInputRowSet = findInputRowSet(sourceStep)
方法说明:这个方法用于查找下一步骤。
方法使用:RowSet findOutputRowSet = findOutputRowSet(targetStep);
方法说明:这个方法用于获取步骤元数据信息。
方法使用:StepMeta getStepMeta = getStepMeta();
方法说明:这个方法用于获取转换信息。
方法使用:Trans getTrans = getTrans();
方法说明:这个方法用于获取转换元数据信息。
方法使用:TransMeta getTransMeta = getTransMeta();
方法说明:这个方法用于获取组件数据信息。
方法使用:SetpDataInterface getSetpDataInterface = getSetpDataInterface();
方法说明:这个方法用于获取分区信息。
方法使用:String getPartitionID = getPartitionID();
方法说明:这个方法用于获取下一步骤分区信息。
方法使用:Map getPartitionTargets = getPartitionTargets();
方法说明:这个方法用于获取分区个数。
方法使用:int getRepartitioning = getRepartitioning();
方法说明:这个方法用于判断是否存在分区。
方法使用:boolean isParitioned = isParitioned();
方法说明:这个方法用于获取集群个数。
方法使用:int getClusterSize = getClusterSize();
方法说明:这个方法用于获取错误数。
方法使用:long getErrors = getErrors();
方法说明:这个方法用于获取运行时长。
方法使用:long getRuntime = getRuntime();
方法说明:这个方法用于获取子服务器个数。
方法使用:int getSlaveNr = getSlaveNr();
方法说明:这个方法用于获取步骤名称。
方法使用:String getStepname = getStepname();
方法说明:这个方法用于设置变量。
方法使用:setVariable(variableName,variableValue);