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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringMvc—拦截器「建议收藏」

    SpringMvc—拦截器「建议收藏」SpringMvc拦截器作用拦截器是用来拦截经过dispatcherServlet【请求控制器】的请求。它用来拦截控制器方法的执行。拦截器通过实现接口HandlerInterceptor并在S

    2022年7月1日
    23
  • js中正则表达式的用法_iperf使用方法

    js中正则表达式的用法_iperf使用方法首先必须说明的是,这类文章(js正则表达式)在c站或者整个it类论坛是很多人写过的,而我认为我这篇的不同之处在于更加“小白”化,这也与我一贯的风格有关吧。关于JavaScript正则表达式,其他的文章大多一上来就太过激进,不利于初学者学习(我当粗就是这么被劝退的),这也是我为什么要坚持写这篇文章,希望小白在看了这篇文章后,不管能不能完全掌握JavaScript正则表达式,但至少对JavaScript正则表达式能有一个比较深刻的印象吧。

    2022年9月20日
    1
  • 两个正序数组 找中位数_leetcode合并两个有序数组

    两个正序数组 找中位数_leetcode合并两个有序数组原题连接给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,

    2022年8月9日
    3
  • linux修改用户名的命令_linux退出root用户命令

    linux修改用户名的命令_linux退出root用户命令Linux将用户名修改后,还需要修改组名+家目录+UID这只会更改用户名,而其他的东西,比如用户组,家目录,UID等都保持不变。1、修改用户名$usermod-l新用户旧用户  这只会更改用户名,而其他的东西,比如用户组、家目录、ID等都保持不变。注意: 你需要从要改名的帐号中登出并杀掉该用户的所有进程,要杀掉该用户的所有进程可以执行下面命令$s…

    2022年9月18日
    2
  • postman调试rpc接口

    postman调试rpc接口使用postman测试RPC接口PostMan如何调用RPC接口(postman下载)PostMan如何调用RPC接口接口调试之Postman使用方法详解

    2022年10月13日
    2
  • Lock锁——-tryLock()方法

    Lock锁——-tryLock()方法这一次主要学习Lock接口中的**tryLock()**方法。tryLock()方法是有返回值的,返回值是Boolean类型。它表示的是用来尝试获取锁:成功获取则返回true;获取失败则返回false,这个方法无论如何都会立即返回。不会像synchronized一样,一个线程获取锁之后,其他锁只能等待那个线程释放之后才能有获取锁的机会。一般情况下的tryLock获取锁匙这样使用的://实例化…

    2022年10月16日
    4

发表回复

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

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