`
chenhua_1984
  • 浏览: 1253877 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

kettle调用自定义Java代码

阅读更多

        有时候需要对Kettle抽取过来的数据进行加解密或者其他一些自定义的操作,Kettle本身有对称加密和解密的功能,但由于有时候需要自定义,所以还是提供了调用外部接口的能力。

 

       新建一个自定义处理的JAVA类,例如:

 

package test; 
public class Test{ 
    public static final String getMyName(String name){ 
     //your code   
     return name; 
    } 
} 

   处理好你的逻辑以后,打包成一个JAR包,放到KEttl的 lib目录里面,然后 在Java代码控件填写调用逻辑

 

 

import test.Test; 
 
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException 
{ 
    Object[] r = getRow(); 
    if (r == null) { 
        setOutputDone(); 
        return false; 
    } 
 
    if (first) 
    { 
        first = false; 
    } 
 
    // It is always safest to call createOutputRow() to ensure that your output row's Object[] is large 
    // enough to handle any new fields you are creating in this step. 
    //r = createOutputRow(r, outputRowSize); 
     
    /* TODO: Your code here. (See Sample) 
     
    / Get the value from an input field 
    String foobar = get(Fields.In, "a_fieldname").getString(r); 
 
    foobar += "bar"; 
     
    // Set a value in a new output field 
    get(Fields.Out, "output_fieldname").setValue(r, foobar); 
 
    */ 
 
    //调用jar 
    String name= get(Fields.In, "ENAME").getString(r); //输入参数 
    name= Test.getMyName(name); 
    get(Fields.Out, "ENAME").setValue(r, name); 
 
     
    //获取参数 
     String AGEField = getParameter("AGE"); 
     get(Fields.Out, "AGE").setValue(r, AGEField); //输出参数 
     
 
    // Send the row on to the next step. 
    putRow(data.outputRowMeta, r); 
 
    return true; 
} 

  运行转换测试数据是否正确

  

  

   

 

分享到:
评论

相关推荐

    《kettle中调用java类》示例代码

    在标题《kettle中调用java类》示例代码中,我们关注的是如何在Kettle的转换或作业中嵌入Java代码,以实现更复杂的数据处理逻辑。 首先,Kettle支持两种方式来调用Java类:使用“Java Class”步骤和使用“Execute ...

    kettle调用jar包中的方法.txt

    kettle中使用功能java和JavaScript调用jar中的方法示例

    Kettle API - Java调用示例

    Kettle API 是一个强大的工具,允许开发者通过Java代码与Pentaho Data Integration (Kettle) 进行交互,实现数据提取、转换和加载(ETL)过程的自动化。在给定的示例中,主要展示了如何使用Kettle API 创建、保存和...

    java调用kettle提供的API实现数据抽取DEMO

    Kettle API是Kettle的核心组件之一,它提供了一系列接口和类,使得开发者可以方便地在Java代码中控制Kettle的工作流(Job)和转换(Transformation)。工作流通常用于管理一系列转换,而转换则负责实际的数据操作。 ...

    java调用kettle的依赖包

    7. **集成测试**:在调试和测试Java代码中调用Kettle的部分时,可以使用JUnit或其他测试框架,结合`Trans.executeForResults()`或`Job.executeForList()`方法获取执行结果,以便进行断言和验证。 8. **使用工具有助...

    kettle集成java+完整jar包

    - 数据转换:通过"Java脚本"步骤,可以在Kettle中执行自定义的Java代码进行复杂的数据转换。 - 数据加载:使用Kettle连接各种数据库,执行"插入/更新"、"复制表"等操作将清洗后的数据加载到目标系统。 6. **最佳...

    kettle中使用js调用java类的方法

    通过以上讲解,可以看出在kettle中使用JavaScript调用Java类方法具有一定的复杂性,但同时也提供了一种强大的能力,允许开发者将自定义的Java代码集成到数据转换过程中。这对于扩展kettle功能、满足特定数据处理需求...

    java开发kettle时用到的jar包

    开发者在编写Java代码时,可以直接调用Engine接口来控制Kettle的运行,比如启动、暂停、停止作业或转换。 在Java开发环境中,引入这些JAR包后,开发者可以编写自定义的Java程序来操作Kettle。例如,你可以创建一个...

    Kettle中的JScript控件调用Java类

    通过上述步骤,我们可以在Kettle的JScript控件中成功调用自定义的Java类,从而扩展Kettle的功能,实现更复杂的业务逻辑处理。这对于需要灵活定制数据处理流程的应用场景尤其有用。希望本文能帮助读者更好地理解和...

    如何将JAVA程序集成到KETTLE中

    - 编写完Java代码后,需要将其编译为JAR文件,这是Kettle可以理解并调用的格式。这可以通过使用Java的`javac`命令行工具或者IDE如Eclipse、IntelliJ IDEA的构建功能来完成。 3. **在Kettle中使用Java步骤**: - ...

    KettleAPI-Java调用示例.pdf

    这个方法是自定义扩展Kettle API的基础,可以根据具体需求构造更复杂的转换逻辑。 总结起来,Kettle API 提供了丰富的功能,使得在Java应用程序中集成ETL(提取、转换、加载)过程变得简单。通过使用API,开发者...

    通过Kettle自定义jar包供javascript使用

    总结来说,这个知识点讲述了如何在Kettle环境中集成自定义的Java代码,使JavaScript能够调用这些Java方法,从而增强Kettle的功能。这个过程涉及到Java类的编写、Maven打包、Kettle环境的配置以及错误排查和修复。...

    java后台使用kettle的lib文件

    3. `kettle-api.jar`: 提供了Kettle的API,方便与Java代码交互。 4. `kettle-database.jar`: 包含了数据库相关的类,支持多种数据库连接。 5. `kettle-plugin-framework.jar`: 插件框架,用于扩展Kettle功能。 6. `...

    Kettle-API FOR java

    Kettle的Java API允许开发者直接在Java代码中控制和操作数据转换与作业。这使得开发者能够将数据处理逻辑无缝地集成到现有应用程序中,实现定制化的需求。API提供了对转换、作业、步骤、 hop等核心对象的创建、配置...

    kettle使用log4j管理输出日志

    参照了几个网上大神配置,部分教程的描述有误,最终调试完成,可以实现kettle日志输出,测试版本kettle data-integration-6.0,jdk1.7,日志位置在你的data-integration-6.0安装目录下,logs。 需要替换的文件为,...

    Kettle运行jar及其mvn脚本及配置文件.rar

    - 在Java代码中导入Kettle相关的类和API,创建并执行Kettle作业或转换。 - 构建和运行Java项目,Kettle的功能将被无缝集成到项目中。 以上就是关于"Kettle运行jar及其mvn脚本及配置文件.rar"的详细知识点,涵盖了...

    Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法

    在Kettle的工作流或者转换中,你可以添加一个JavaScript步骤,这个步骤是执行自定义JavaScript代码的地方。 在JavaScript组件中,你可以编写以下代码来调用jar包中的MD5计算方法: ```javascript // 导入jar包中的...

    Kettle API(HTML格式)

    例如,"CSV输入"步骤用于从CSV文件中读取数据,"Java脚本"步骤则允许用户编写自定义的JavaScript代码进行数据处理。 2. **Job(作业)**:作业是Kettle中的一系列步骤的逻辑组合,它们按照特定的顺序和条件执行。...

    《使用javascript访问kettle内部组件》示例代码

    2. **创建Kettle的Java插件**:如果你有Java编程经验,可以创建一个Kettle插件,该插件暴露了可以被JavaScript调用的接口。然后在JavaScript中通过`ActiveXObject`(在IE中)或`window.require`(在Node.js环境中)...

Global site tag (gtag.js) - Google Analytics