美文网首页数仓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脚本控件

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