数仓ETL工具之Kettle

Kettle11:Kettle脚本控件

2021-05-15  本文已影响0人  勇于自信

本章讲解以下三种脚本的案例
01 javascript脚本
02 java脚本
03 执行SQL脚本

脚本

1.脚本是转换里面的第七个分类。
2.脚本就是直接通过程序代码完成一些复杂的操作。



1.javascript脚本

javascript脚本就是使用javascript语言通过代码编程来完成对数据流的操作。
JS中有很多内置函数,可以在编写JS代码时查看。

存在两种不同的模式:不兼容模式和兼容模式
不兼容模式:是默认的,也是推荐的
兼容模式:兼容老版本的kettle

javascript脚本-获取字段

不兼容模式:
myVar = FieldName;

兼容模式:根据字段类型的不同,使用不同的方法:
myVar = FieldName.getString();
myVar = FieldName.getNumber();

javascript脚本-给字段赋值

不兼容模式:直接使用字段名,如
FieldName = myVar;

兼容模式:使用
FieldName.setValue(myVar);

javascript脚本-在脚本中使用java类

不兼容模式:
var myVar = new java.lang.String(“pentahochina.com”);

兼容模式:
var myVar = new Packages.java.lang.String (“pentahochina.com”);

javascript脚本



案例:
生成日期维度数据有日期,年,月,日,从2000年01月01日开始有1000条记录,保存到Excel
分析:
输入:生成记录
转换:增加序列、计算器、字段选择
脚本:JavaScript代码
输出:Excel输出


2.java脚本

1.java脚本就是使用java语言通过代码编程来完成对数据流的操作。
2.内置了很多函数可以直接使用。

java脚本-Main

Main函数对应一个processRow()函数,processRow()函数是用来处理数据流的场所!

java脚本



案例:
从Excel中读取数据,生成newcode字段,如果code列为NULL就使用name列来替换,否则就在code列的后面加上123,结果保存在Excel
分析:
输入:Excel输入
脚本:Java代码
输出:Excel输出


3.执行SQL脚本

执行SQL脚本可以执行一个update语句,用来更新某个表中的数据。



执行SQL脚本-执行每一行


案例:
从t_users表中获取所有的数据,把age的值都更改为33
分析:
输入:表输入
脚本:执行SQL脚本


上一篇下一篇

猜你喜欢

热点阅读