有时候需要对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类:使用“Java Class”步骤和使用“Execute ...
kettle中使用功能java和JavaScript调用jar中的方法示例
Kettle API 是一个强大的工具,允许开发者通过Java代码与Pentaho Data Integration (Kettle) 进行交互,实现数据提取、转换和加载(ETL)过程的自动化。在给定的示例中,主要展示了如何使用Kettle API 创建、保存和...
Kettle API是Kettle的核心组件之一,它提供了一系列接口和类,使得开发者可以方便地在Java代码中控制Kettle的工作流(Job)和转换(Transformation)。工作流通常用于管理一系列转换,而转换则负责实际的数据操作。 ...
7. **集成测试**:在调试和测试Java代码中调用Kettle的部分时,可以使用JUnit或其他测试框架,结合`Trans.executeForResults()`或`Job.executeForList()`方法获取执行结果,以便进行断言和验证。 8. **使用工具有助...
- 数据转换:通过"Java脚本"步骤,可以在Kettle中执行自定义的Java代码进行复杂的数据转换。 - 数据加载:使用Kettle连接各种数据库,执行"插入/更新"、"复制表"等操作将清洗后的数据加载到目标系统。 6. **最佳...
通过以上讲解,可以看出在kettle中使用JavaScript调用Java类方法具有一定的复杂性,但同时也提供了一种强大的能力,允许开发者将自定义的Java代码集成到数据转换过程中。这对于扩展kettle功能、满足特定数据处理需求...
开发者在编写Java代码时,可以直接调用Engine接口来控制Kettle的运行,比如启动、暂停、停止作业或转换。 在Java开发环境中,引入这些JAR包后,开发者可以编写自定义的Java程序来操作Kettle。例如,你可以创建一个...
通过上述步骤,我们可以在Kettle的JScript控件中成功调用自定义的Java类,从而扩展Kettle的功能,实现更复杂的业务逻辑处理。这对于需要灵活定制数据处理流程的应用场景尤其有用。希望本文能帮助读者更好地理解和...
- 编写完Java代码后,需要将其编译为JAR文件,这是Kettle可以理解并调用的格式。这可以通过使用Java的`javac`命令行工具或者IDE如Eclipse、IntelliJ IDEA的构建功能来完成。 3. **在Kettle中使用Java步骤**: - ...
这个方法是自定义扩展Kettle API的基础,可以根据具体需求构造更复杂的转换逻辑。 总结起来,Kettle API 提供了丰富的功能,使得在Java应用程序中集成ETL(提取、转换、加载)过程变得简单。通过使用API,开发者...
总结来说,这个知识点讲述了如何在Kettle环境中集成自定义的Java代码,使JavaScript能够调用这些Java方法,从而增强Kettle的功能。这个过程涉及到Java类的编写、Maven打包、Kettle环境的配置以及错误排查和修复。...
3. `kettle-api.jar`: 提供了Kettle的API,方便与Java代码交互。 4. `kettle-database.jar`: 包含了数据库相关的类,支持多种数据库连接。 5. `kettle-plugin-framework.jar`: 插件框架,用于扩展Kettle功能。 6. `...
Kettle的Java API允许开发者直接在Java代码中控制和操作数据转换与作业。这使得开发者能够将数据处理逻辑无缝地集成到现有应用程序中,实现定制化的需求。API提供了对转换、作业、步骤、 hop等核心对象的创建、配置...
参照了几个网上大神配置,部分教程的描述有误,最终调试完成,可以实现kettle日志输出,测试版本kettle data-integration-6.0,jdk1.7,日志位置在你的data-integration-6.0安装目录下,logs。 需要替换的文件为,...
- 在Java代码中导入Kettle相关的类和API,创建并执行Kettle作业或转换。 - 构建和运行Java项目,Kettle的功能将被无缝集成到项目中。 以上就是关于"Kettle运行jar及其mvn脚本及配置文件.rar"的详细知识点,涵盖了...
在Kettle的工作流或者转换中,你可以添加一个JavaScript步骤,这个步骤是执行自定义JavaScript代码的地方。 在JavaScript组件中,你可以编写以下代码来调用jar包中的MD5计算方法: ```javascript // 导入jar包中的...
例如,"CSV输入"步骤用于从CSV文件中读取数据,"Java脚本"步骤则允许用户编写自定义的JavaScript代码进行数据处理。 2. **Job(作业)**:作业是Kettle中的一系列步骤的逻辑组合,它们按照特定的顺序和条件执行。...
2. **创建Kettle的Java插件**:如果你有Java编程经验,可以创建一个Kettle插件,该插件暴露了可以被JavaScript调用的接口。然后在JavaScript中通过`ActiveXObject`(在IE中)或`window.require`(在Node.js环境中)...