kettle开发篇-JavaScript脚本

简介: kettle开发篇-JavaScript脚本

前言:


昨天我们讲了映射,映射可以帮我来将转换进行封装便于我们的重用,今天我们来讲解下JavaScript脚本,可以通过JavaScript脚本来处理一些复杂的转换问题。JavaScript脚本就是使用JavaScript语言通过代码编程来完成对数据流的操作。JS中有很多内置函数,可以在编写JS代码时查看。


一、JavaScript脚本


JavaScript脚本就是使用JavaScript语言通过代码编程来完成对数据流的操作。JS中有很多内置函数,可以在编写JS代码时查看。这个组件存在两种不同的模式:不兼容模式和兼容模式,不兼容模式:是默认的,也是推荐的 兼容模式:兼容老版本的kettle

这两种模式的JavaScript语言有一定的差别,比如不兼容下获取字段,我们只需要,定义变量名然后给变量名赋值字段名就行。如myVar=FileName;兼容模式下:根据字段类型的不同,使用不同的方法:如字段是字符串类型,此时获取字段名为myVar=FileName.getString();数字类型的时候myVar=FileName.getNumber();

同样的我们在给字段赋值时,不兼容模式直接使用字段名,如FiledName=myVar; 兼容模式使用:FiledName.setValue(myVar);

使用java类语法是,不兼容模式: var myVar=new java.lang.String("pentahochina.com"); 兼容模式: var myVar=new Packages.java.lang.String("pentahochina.com");


二、实操


JavaScript脚本包括三大区域,最左边是函数区域,定义了我们进行转换需要的函数和输入输出的字段等。右边是我们编写JavaScript代码的区域,下面是我们获取代码里面字段的区域。需要注意的是JavaScript脚本模式采用的是不兼容模式。

这边我们通过JavaScript脚本实现生成维度数据包括日期、年、月、日,从2000年01月01日开始有1000条记录,保存到Excel。

最终我们的转换包括生成记录,即生成1000条日期数据,通过增加序列来增加序号,然后通过计算器来进行日期的累加,最终通过字段选择和JavaScript代码提取年、月、日将我们的数据获取,并输出至Excel。

通过生成记录初始化,生成1000条日期数据,对应日期初始值为2000/01/01,通过增加序列来获取序号。

最终我们通过计算器就获取到我们需要的数据了。然后通过字段选择,来选择我们需要的字段new_date。


相关文章
|
21天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
402 1
|
25天前
|
JavaScript 前端开发 安全
TypeScript的优势与实践:提升JavaScript开发效率
【10月更文挑战第8天】TypeScript的优势与实践:提升JavaScript开发效率
|
25天前
|
JavaScript 前端开发 IDE
深入理解TypeScript:提升JavaScript开发的利器
【10月更文挑战第8天】 深入理解TypeScript:提升JavaScript开发的利器
28 0
|
4天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
3天前
|
Web App开发 存储 JavaScript
深入浅出Node.js后端开发
【10月更文挑战第31天】本文将引导你进入Node.js的奇妙世界,探索其如何革新后端开发。通过浅显易懂的语言和实际代码示例,我们将一起学习Node.js的核心概念、搭建开发环境,以及实现一个简单但完整的Web应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇通往高效后端开发的大门。
|
3天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【10月更文挑战第30天】本文将通过一个Node.js的简单示例,引导你进入Node.js的世界。我们将从基础概念讲起,然后一步步深入到代码实现,最后总结Node.js在后端开发中的优势和应用场景。无论你是前端开发者还是后端新手,这篇文章都将为你打开一扇了解Node.js的大门。
11 2
|
12天前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
54 8
|
10天前
|
JavaScript 前端开发
javascript开发的简单的弹幕插件
这是一个原生javascript开发的简单的弹幕插件,具有美观、易用,占用的资源较低等特点,可以给弹幕设置内容、颜色、头像、链接地址等属性,鼠标悬停等,简单实用,欢迎下载!
29 5
|
7天前
|
JavaScript 前端开发 安全
深入浅出Node.js后端开发
【10月更文挑战第26天】在这篇文章中,我们将一起探索Node.js的奇妙世界。不同于传统的Java或Python,Node.js以其异步非阻塞I/O和事件驱动的特性,在后端开发领域独树一帜。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和思考。从基础概念到实际应用,我们一步步深入Node.js的世界,让你了解其不仅仅是JavaScript运行环境那么简单。
|
21天前
|
存储 JSON JavaScript
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
38 0