任何一种编程语言都少不了循环,kettle中的job也一样.那么kettle中的job是怎么通过JavaScript来达到类似于编程语言中的for循环呢? var max = parent_job.getVariable("MAXCOUNT"); var current = parent_job.getVariable("CURRENTCOUNT"); current ++; parent_job.setVariable("CURRENTCOUNT&quo…
kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询 如果你须要实现非传统的数据库查询操作.为了讨论这样的情景,我们如果你须要读取数据库中的正則表達式,然后检查输入的每行的字段匹配表达式的个数. 在javascript步骤运行数据库查询 在javascript步骤初始化的时候,查询数据库.获取正則表達式记录集.然后每一行的输入数据循环检查是否匹配表达式,假设匹配.记录变量加一,最后把结果写到到前行的新增字段中. 思路非常清楚,可是怎样在javascript步骤实…
最近在使用kettle的时候遇到一个问题,需要对输入的一个字段进行格式化,逻辑比较复杂(需要做替换掉指定的字符串,然后将数字部分不足四位的数前边补0等操作),kettle中没有提供直接的插件来支持复杂的业务逻辑处理,所以就自己写代码来处理. kettle中可以支持Java代码和JavaScript代码,java代码我尝试了几次,不是太稳定,所以就使用了JavaScript 1.在左侧选择脚本中的 JavaScript代码 2.上个步骤传过来的字段 都在Input fields中,在JavaScr…
我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法.所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用. 本篇文章有参考自:https://www.xiaominfo.com/2019/08/13/kettle-12/ 一.在 java 项目中创建工具类 在项目中,创建 utils 工具类,比如 计算总页码 的一个方法.代码如下: public class PaginationUtils { /** * 计算得…
在kettle作业中JavaScript脚本有时候也扮演非常重要的角色,此时我们希望有一些日志记录.下面是job中JavaScript记录日志的方式. job的js写日志的方法. 得到日志输出实例 org.pentaho.di.core.logging.LogWriter.getInstance(); 按照日志的级别输出: public void logMinimal(String subject, String message, Object... args) { println(LOG_LE…
1. javascript是动态语言,脚本语言,弱类型语言. 2. javascript代码在html文件中的位置安排,放在<body></body>内部与外部的区别.如何引用外部的javascript文件. 3. javascript单行注释与多行注释. 4. javascript如何申明变量. 5. javascript分支语句的使用. 6. javascript如何弹出警告框.确认框. 7. javascript函数的编写:带参数.带返回值. 8. javascript函数循…
kettle--window开发环境和linux运行环境的迁移 kettle的输入输出组件和脚本组件 kettle--变量的使用 kettle的资源库 kettle的job kettle的hello world 出处:http://www.cnblogs.com/dongdone/category/861657.html ================================================================================= KETTLE…
日常开发中由于很多参数是变化的,需要在部署时才能确定.而写在配置文件里又显得很笨重,因而可以运行时实时指定.那么kettle是怎么获取命令行中的参数的呢? kettle可以通过转换里的JavaScript获取变量 _step_.getTransMeta().getArguments()[0];…
日常开发中,为了确保账号和密码的安全,时常要对密码进行加密和解密.然而kettle是怎么对密码进行加密和解密的呢? 下面的代码需要再转换中的JavaScript中运行. var encrypted_password = 'not encrypted'; 加密(js中调用): encrypted_password = "Encrypted " + Packages.org.pentaho.di.core.encryption.Encr.encryptPassword(clear_pass…
javascript步骤错误处理 假设你熟悉kettle误差特性转换.你可能想知道javascript步骤如何使用.骤用户界面机制是同样的,在javascript步骤右击,选择"定义错误处理"启用错误处理并配置.javascript代码能够识别错误行,并将他们转发到配置的错误处理步骤,通过使用_step_对象的putError()方法,须要下面几个參数: 1)    RowMetaInterface对象描写叙述行结构 2)    当前的错误行 3)    在此行检測的错误数 4)   …