Kettle使用JavaScript代码处理数据

需求

处理经纬度格式不正确的数据

经纬度格式如:
经度:a-b-c
纬度:d-e-f

a、b、c、d、e、f都可以为数字(也可以为浮点等,只要符合经纬度要求就OK)

把符合要求的数据存放到一个xlsx里
不符合要求的数据存放到一个xlsx里

建立的处理流程如下:
Kettle处理流程

结果:
处理的结果会得到两个文件,一个是符合要求的,一个是不符合要求的。
结果

一、建立DB连接

建立DB连接
连接要处理数据库的数据库
连接数据库

二、建立处理流程

1、拖入表输入功能模块

选择数据库连接、并按自己的需求写入相关的sql
配置表输入功能

2、拖入JavaScript代码功能模块

考虑到经纬度格式可能会出现存在空格的,而且经纬度不在一块。
现在可以利用JavaScript代码把从数据库中得到的经度和纬度合并到一起,然后对数据进行去掉所有的空格处理。

连接表输如---->JavaScript代码

连接表输如---->JavaScript代码

处理经纬度

处理数据

//Script here

 //去前后空格
//var LO = LONGITUDE.replace(/(^\s*)|(\s*$)/g, "");
//var LA = LATITUDE.replace(/(^\s*)|(\s*$)/g, "");

//拼接成一个要验证的字符串
//var LL = LO +"," +LA;

 //去前后空格
//var LL=L1.replace(/(^\s*)|(\s*$)/g, "");


//直接去除所有的空格
var LL = (LONGITUDE+","+LATITUDE).replace(/\s+/g,"");

对处理好的经纬度进行正则表达式匹配处理

在这里插入图片描述
配置正则表达式
在这里插入图片描述

正则表达式

([\d^(-?\d+)(\.\d+)?$]+)-([\d^(-?\d+)(\.\d+)?$]+)-([\d^(-?\d+)(\.\d+)?$]+)[,]([\d^(-?\d+)(\.\d+)?$]+)-([\d^(-?\d+)(\.\d+)?$]+)-([\d^(-?\d+)(\.\d+)?$]+)

过滤记录并分别输出到不同的文件里

在这里插入图片描述

过滤记录的配置
在这里插入图片描述

发布了114 篇原创文章 · 获赞 93 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 像素格子 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览