kettle 教程(四):自定义 Java 代码

kettle 教程(四):自定义 Java 代码kettle拥有很多自带的组件,能帮我们实现很多的功能。但是我们总有一些很复(qi)杂(pa)的需求,用自带的组件实现不了,或者说实现起来很复杂。那么这时我们就要用到万能的组件了(Java代码),通过自己写代码来实现任何想要的功能。自定义Java代码假设有这样一个需…

大家好,又见面了,我是你们的朋友全栈君。

背景

kettle 拥有很多自带的组件,能帮我们实现很多的功能。

但是我们总有一些很复(qi)杂(pa)的需求,用自带的组件实现不了,或者说实现起来很复杂。那么这时我们就要用到万能的组件了( Java 代码),通过自己写代码来实现任何想要的功能。

自定义 Java 代码

假设有这样一个需求,user 表中有 id , code , name 这三个字段。

如果 code 为空,我们就取 name 的值来代替;

如果 code 不为空,那么就在 code 后面拼接上 “123” 。

当然这个需求不算复杂,用其它的一些组件结合起来也能实现,我们这边只是举个例子,用来介绍 Java 代码这个组件。

我们直接来看流程。

首先还是需要配置数据源(数据源配置可以参考该系列的第一篇文章介绍),并且使用一个表输入:

kettle 教程(四):自定义 Java 代码

接着,我们在左边找到 Java 代码这个组件,拖动到右方,将其与表输入连接起来:

kettle 教程(四):自定义 Java 代码

接着双击 Java 代码,在左侧找到 Main 方法并双击,可以看到右侧自动生成了原始代码:

kettle 教程(四):自定义 Java 代码

在右侧代码编辑区域,写入我们自定义的代码:

kettle 教程(四):自定义 Java 代码

运行一下,我们可以在下方调试区域看到处理前和处理后的值:

kettle 教程(四):自定义 Java 代码

这就是一个简单的自定义 Java 代码的例子,通过几行代码,就能实现原来需要多个组件实现的功能。

通过自定义代码,还能实现计数的功能,如下所示:

kettle 教程(四):自定义 Java 代码

总结

kettle 是一个基于 Java 开发的 ETL 工具,本身自带了一些常用的组件,可以满足一些常用的需求。

而通过 Java 代码这个组件,可以利用代码,来实现任何想要的功能。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142466.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 重定向和转发的区别及应用[通俗易懂]

    重定向和转发的区别及应用[通俗易懂]重定向重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL,而当使用转发时,该URL会保持不变。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重

    2025年10月3日
    4
  • 800个有趣句子帮你记忆7000个单词[通俗易懂]

    800个有趣句子帮你记忆7000个单词[通俗易懂]800个有趣句子帮你记忆7000个单词   1.WithmyownearsIclearlyheardtheheartbeatofthenuclearbomb.我亲耳清楚地听到原子弹的心脏的跳动。 2.Nextyearthebeardedbearwillbearadearbabyintherear.明年,长胡子的熊将

    2022年6月7日
    26
  • 用最简单的一个例子看maven冲突的解决办法

    用最简单的一个例子看maven冲突的解决办法

    2020年11月20日
    196
  • 数据库四大特性_Mysql数据库四种特性

    数据库四大特性_Mysql数据库四种特性1、原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。比如在同一个事务中的SQL语句,要么全部执行成功,要么全部执行失败。2、一致性(Co

    2022年8月4日
    8
  • 系统不支持curl

    系统不支持curl解决安装pinphp时出现的“系统不支持curl!”今天在本机安装phppin开源程序时,提示“系统不支持curl!”错误。由于我本机是UBUNTU系统,所以直接通过apt-get进行安装。sudo

    2022年6月30日
    31
  • SSO单点登录简单实现

    SSO单点登录简单实现通过 cookie 来实现单点登录 1 单点登录的流程 cookie 是用来在客户端存储数据的工具 在其中一个子系统登录 跳转到登录系统 登陆系统登陆完成 完成登录后会向发起登录的子系统写入一个 cookie 保存用于认证用户是否登录的信息 token 其他子系统向服务器发起请求的时候 携带这个 cookie 完成登录 cookie 的域要是所有子系统相同的域 这样所有子系统才能访问到这个 cookie 2 单点登录流程图 2 单点登录的编码 部分核心代码 代码链接 https gitee com yueh

    2025年8月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号