kettle从入门到精通 第十一课 kettle javascript 解析json数组

发布时间 2023-04-10 23:29:29作者: 慕容尘轩

1、json步骤虽然可以解析json数组,但是不够灵活。通过javascript步骤来解析json数组比较灵活,且可以按照需要组装数据流转到下个步骤。

1)步骤名称:可以自定义

2)Transform Scripts:当前步骤编写的javascript脚本

3)Transform Constants:重新定义的静态常量,用于控制数据行发生的情况。您必须为trans_Status变量指定一个常数值。要使用这些常量,必须首先在脚本开始时将trans_Status变量设置为CONTINUE_TRANSFORMATION,以便对正在处理的第一行进行变量赋值。否则,将忽略trans_Status变量的任何后续赋值。双击一个常量,将其添加到Java脚本窗格中。

   CONTINUE_TRANSFORMATION: 将当前行包括在输出行集中。

   SKIP_TRANSFORMATION:从输出行集中排除当前行,并继续处理下一行。

   ERROR_TRANSFORMATION:从输出行集中排除当前行,生成错误,并且不处理任何剩余行。

   ABORT_TRANSFORMATION:从输出行集中排除当前行,并且不会处理任何剩余行,但不会生成错误。(此常量不会显示在PDI客户端PDI客户端中,但可以在脚本中使用)

4)Transform Functions:可以在脚本中使用的字符串、数字、日期、逻辑、特殊和文件函数。这些包含的函数是用Java实现的,执行速度比JavaScript函数快。每个函数都有一个演示其用途的示例脚本。双击该函数将其添加到Java脚本窗格中。右键单击并选择“示例”将示例添加到Java脚本窗格

5)Input Fields:当前步骤输入字段

6)Output Fields:当前步骤输出字段.

7)优化级别:1:JavaScript以解释模式运行。0:未执行任何优化。1-9:所有优化都已执行。9执行的优化最多,脚本执行速度更快,但编译速度较慢。默认值为9。

8)字段:设置输出元数据字段信息。

本事例用到的数据结构list为:[{"name":"a","age":"11"},{"name":"b","age":"22"}]],[{"name":"c","age":"33"},{"name":"d","age":"44"}]]

 

 官方文档:https://help.hitachivantara.com/Documentation/Pentaho/9.3/Products/Modified_Java_Script_Value