美文网首页数仓ETL工具之Kettle
Kettle11:Kettle脚本控件

Kettle11:Kettle脚本控件

作者: 勇于自信 | 来源:发表于2021-05-15 09: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脚本


相关文章

  • Kettle11:Kettle脚本控件

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

  • Kettle常用控件

    Spoon.bat:图形界面方式启动作业和转换设计器 Pan.bat:命令行方式执行转换 Kitchen.bat:...

  • Kettle03:Kettle输出控件

    本章讲的kettle输出组件,以下几种类型的案例01 Excel输出02 文本文件输出03 SQL文件输出04 表...

  • Kettle04:Kettle转换控件

    本章讲解如下几种转换组件案例:01 Concat fields02 值映射03 增加常量04 增加序列05 字段选...

  • Kettle05:Kettle应用控件

    本章讲如下应用控件的案例:01 替换NULL值02 写日志03 发送邮件 应用 应用是转换里面的第五个分类。应用都...

  • Kettle02:Kettle输入控件

    本章介绍以下输入控件的使用案例:01 CSV文件输入02 文本文件输入03 Excel输入04 多文件合并05 X...

  • Kettle07:Kettle查询控件

    本章讲解Kettle如下四个查询控件的使用案例:01 HTTP client02 数据库查询03 数据库连接04 ...

  • Kettle09:Kettle统计控件

    统计 1.统计是转换里面的第十三个分类。2.统计是提供数据的采样和统计功能。 分组 分组是按照某一个或某几个进行分...

  • Kettle10:Kettle映射控件

    映射 1.映射是转换里面的第十八个分类。2.映射是用来定义子转换,便于封装和重用。 映射(子转换) 映射(子转换)...

  • Kettle08:Kettle连接控件

    本章讲解一下连接控件的案例:01 合并记录02 记录关联(笛卡尔积)03 记录集连接 连接 1.连接是转换里面的第...

网友评论

    本文标题:Kettle11:Kettle脚本控件

    本文链接:https://www.haomeiwen.com/subject/gguadltx.html