kettle学习笔记(十)——数据检验、统计、分区与JS脚本
一、概述
数据剖析和数据检验:
用于数据的检查、清洗 。
统计步骤:
提供数据采样和统计的功能
分区:
根据数据里某个字段的值,拆分成多个数据块。输出到不同的库表和文件中。
脚本:
Javascript 基础
二、数据剖析和数据检验
1.数据剖析
分析原始数据的数据类型、长度、值域等,属于ETL的第一步
kettle中使用DataCleaner进行数据剖析
首先需要在工具-marketPlace中安装改插件并重启:https://wiki.pentaho.com/pages/viewpage.action?pageId=23533803
2.数据校验
示例可以查看samples,可以配置例如错误代码,字典表校验等:

一个简单的检验如下:

也可以后面接SWITCH CASE,通过错误代码等进行后续处理
三、统计

// 实例见samples
四、分区
把数据按照一定的规则,划分为多个数据块,称为分区。
分区的方式:
1.镜像分区:相当于分区拷贝
2.取模分区:通过取模进行分区
通过内置变量parition.ID可以写分区数据到多个分区,如果是数据库,需要数据库集群(转换中需要新建分区模式)
五、JS脚本
基础JS参见菜鸟教程
1.在脚本中使用Java类:
不兼容模式:var myVar = new java.lang.String(“pentahochina.com”);
兼容模式:var myVar = new Packages.java.lang.String (“pentahochina.com”);
此时myVar是一个Java的string对象,可以调用Java中的string方法
// 兼容模式为兼容老的kettle,建议不兼容模式的新语法!
2.获取字段:
不兼容模式:myVar = FieldName;
兼容模式:根据字段类型的不同,使用不同的方法:
myVar = FieldName.getString();
myVar = FieldName.getNumber();
3.给字段赋值:
不兼容模式:直接使用字段名,如 FieldName = myVar;
兼容模式:使用 FieldName.setValue(myVar);
JS代码中有很多内置函数,可以在编写JS代码时左侧查看
支持Alert()的简单调试
kettle学习笔记(十)——数据检验、统计、分区与JS脚本的更多相关文章
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- Linux学习笔记(5)磁盘分区(parted)
Linux学习笔记(5)磁盘分区(parted) .演示: ()parted /dev/sdb :进入parted 分区命令(可以使用help来查看命令详细描述)(2)p :列出当前磁盘分区信息,可以 ...
- Linux学习笔记(4)磁盘分区(fdisk)、挂载与文件系统命令
Linux学习笔记(4)磁盘分区(fdisk).挂载与文件系统命令 1.磁盘分区是怎么表示的? 1.1 对于IDE接口,第一主盘为hda,第1从盘为hdb,第1从盘的第1个分区为hdb1 1.2 对于 ...
- go微服务框架kratos学习笔记十(熔断器)
目录 go微服务框架kratos学习笔记十(熔断器) 什么是熔断 熔断器逻辑 kratos Breaker kratos 熔断逻辑 kratos熔断器使用说明 bladmaster client br ...
- Kettle学习笔记(四)— 总结
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle中设置编码 ...
- Kettle学习笔记(二)— 基本操作
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 打开Kettle 打开 ...
- Kettle学习笔记(一)— 环境部署及运行
目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...
- Windows phone 8 学习笔记(2) 数据文件操作
原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...
- #学习笔记#JSP数据交互
#学习笔记#JSP数据交互 数据库的使用方式: 当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在 ...
随机推荐
- Flex布局的学习经验
做为css布局的又一种新方式,Flex拥有极强的使用效果,相比原来的float,position对元素样式的操作更加简洁,本文是我的一点学习经验和心得吧,如有错误以及不足之处,请多多指点. 好进入正题 ...
- js的style.display小问题
在元素添加class样式隐藏display:none; 使用console.log(xx.style.display);//空值
- 葡萄城报表V11 SP2新版本震撼发布!
葡萄城报表正式发布 v11.2 版本,强势推出国内首创的基于HTML5的在线报表设计器,从此报表设计告别桌面应用程序,随时随地修改报表,真正跨平台操作,从而使任何报表用户更快速的响应报表业务变化! 在 ...
- Python+Selenium笔记(一):环境配置+简单的例子
#环境配置基于windows操作系统 #学习selenium要有一些HTML和xpth的基础,完全不会的建议先花点时间学点基础(不然元素定位,特别是xpth可能看的有点懵) #HTML : http ...
- 【Python】定时调度
from datetime import datetime from apscheduler.schedulers.blocking import BlockingScheduler def tick ...
- pytest+allure+jenkins +python2.7
pip install lxml==3.8.0 pip install pytest-allure-adaptor
- mySQL 约束 (Constraints)
约束用于限制加入表的数据的类型: 1.创建表时规定约束(通过 CREATE TABLE 语句) 2.表创建之后也可以(通过 ALTER TABLE 语句). 约束类型: NOT NULL(非空) UN ...
- Linux yum源详解
软件包安装方式 0.默认从官网下载包(国内,雅虎,网易,阿里云) cat /etc/yum.repos.d/rhel-source.repo [yum文件目录--redhat6版] [ ...
- SA387Gr91
SA387Gr91 在DTCMS中,我做了一个SA387Gr91的网站,挺好看的.
- 【Alpha】团队课程展示
团队展示报告 团队分工 陈涵 PM + 后端开发 ,统筹全队安排,完成了登录界面,以及一部分部门模块和课程中教室模块的编写. 张鹏 后端开发,主要完成了主界面和其他功能界面的编写,课程界面的编写,以及 ...