在kettle中实现数据验证和检查
在kettle中实现数据验证和检查
在ETL项目,输入数据通常不能保证一致性。在kettle中有一些步骤能够实现数据验证或检查。验证步骤能够在一些计算的基础上验证行货字段;过滤步骤实现数据过滤;javascript步骤能够实现更复杂的计算。
通常以某种方式查看那些数据是有缺陷的也是实用的,由于大多数ETL是无人值守执行的,所以通常ETL程序会把这些缺陷数据通知给ETL开发人员或管理员。建议把这些问题数据行保存到一个特定的公共表格中,以便跟踪这些数据;那么该表格应该包含一些元信息,如:执行转换的名称、验证错误及错误描写叙述等。
在这里下载演示样例文件,csv输入文件里记录客户到达和离开的两个健身场所,转换程序验证客户ID,场所名称,日期格式,给定日期的合理性。正确的数据写入到excel文件,错误数据重定向到错误收集步骤,每行错误数据被拼成一个字符字段,同一时候也收集一些关于转换的元数据信息及错误描写叙述,终于这些错误数据行信息保存到还有一个excel文件。
实际场景中输出步骤更可能是表输出步骤,“get System Info”步骤会收集很多其它数据,之后的错误手机步骤,最好使用子转换,为了在其它转换中重用。
以结构化的方式保存验证错误也使非常好地方便数据监測成为可能,ETL过程完毕后,能够简单地发送邮件给管理员,简短的说明关于包含错误代码,转换名称,BATCH_ID等数据的缺陷,以及不论什么你须要的元数据。假设你工作是关于DWH或BI方面的,如今手头已经有了必要的工具。假设您不想使用的excel报告的方式,你可能仍然使用kettle的job创建一个简短的报告文件,并邮寄给了管理员。
在kettle中实现数据验证和检查的更多相关文章
- Java中的数据验证
原文链接:https://www.cuba-platform.com/blog/2018-10-09/945 翻译:CUBA China CUBA-Platform 官网 : https://www. ...
- WPF中的数据验证
数据验证 WPF的Binding使得数据能够在数据源和目标之间流通,在数据流通的中间,便能够对数据做一些处理. 数据转换和数据验证便是在数据从源到目标 or 从目标到源 的时候对数据的验证和转换. V ...
- .NET MVC中的数据验证
一 概述 关于数据验证和数据注解,是任何软件系统不可小觑的必要模块,主要作用是为了保证数据安全性.防止漏洞注入和网络攻击.从数据验证的验证方式来说,我们一般分为客户端验证和服务端验证(或者两种方式相 ...
- [WPF] 在 ViewModel 中让数据验证出错(Validation.HasError)的控件获得焦点
1. 需求 在 MVVM 中 ViewModel 和 View 之间的交互通常都是靠 Icommand 和 INotifyPropertyChanged,不过有时候还会需要从 MVVM 中控制 Vie ...
- C#:实体类中做数据验证
主要是在实体类中验证 using System; namespace Jone.Function.attribute{ /// <summary> /// 附加 ...
- javaweb从mysql中获取数据验证用户名密码成功跳转,失败重新验证
要求:validate.jsp页面中获取请求参数(request.getparameter(“name属性的值”)),注意中文参数获取之前要设置请求编码(request.setCharaterEnco ...
- struts2(三)---struts2中的服务端数据验证框架validate
struts2为我们提供了一个很好的数据验证框架–validate,该框架可以很方便的实现服务端的数据验证. ActionSupport类提供了一个validate()方法,当我们需要在某一个acti ...
- 【转】Struts1.x系列教程(2):简单的数据验证
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/13/251197.html 简单验证从本质上说就是在服务端 ...
- 我这么玩Web Api(二):数据验证,全局数据验证与单元测试
目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试 一.模型状态 - ModelState 我理解 ...
随机推荐
- 使用TensorFlow编写常用模块的Python代码示例
将数据转化成tfrecords的形式 import os import tensorflow as tf import numpy as np import matplotlib.image as m ...
- vue v-if的使用
代码部分 <el-row> <el-col :span="20"> <template v-for="(node,i) of hierarc ...
- 搭建appium环境
1.下载jdk1.8 配置环境变量 JAVA_HOME---------->你的jdk路径 path---------------------->%JAVA_HOME%\bin;%JAV ...
- BZOJ 1050 [HAOI2006]旅行comf(最小生成树)
题意 第一行包含两个正整数,N和M.下来的M行每行包含三个正整数:x,y和v.表示景点x到景点y之间有一条双向公路 ,车辆必须以速度v在该公路上行驶.最后一行包含两个正整数s,t,表示想知道从景点s到 ...
- 优秀Swift开源项目推荐
工具类 SwiftyJSON:GitHub上最为开发者认可的JSON解析类 Safe.ijaimi:源码漏洞分析检测工具,一键完成 Dollar.swift:Swift版Lo-Dash(或unders ...
- Python学习之三【对象和类型&&运算符】
[对象和类型] 学生的属性: 小明 对象 姓名:男 性别: 年龄: 身高: 体重: 籍贯: 五种基本对象类型 字符串 (string),简记为 str 使用 ' ' 或 " " 括 ...
- Android实战技巧之三十七:图片的Base64编解码
通经常使用Base64这样的编解码方式将二进制数据转换成可见的字符串格式,就是我们常说的大串.10块钱一串的那种,^_^. Android的android.util包下直接提供了一个功能十分完备的Ba ...
- SQL Server 运行计划操作符具体解释(3)——计算标量(Compute Scalar)
接上文:SQL Server 运行计划操作符详细解释(2)--串联(Concatenation ) 前言: 前面两篇文章介绍了关于串联(Concatenation)和断言(Assert)操作符,本文介 ...
- 手机Android音视频採集与直播推送,实现单兵、移动监控类应用
最新手机採集推送直播监控以及EasyDarwin开源流媒体平台的版本号及代码: EasyDarwin 开源流媒体云平台:https://github.com/easydarwin EasyClient ...
- 我的modelsim常用DO文件设置
在modelsim中使用do文件是非常方便的进行仿真的一种方法,原来接触到的一些项目不是很大,用modelsim仿真只需要仿真单独的一些模块,最近接触的项目比较大,是几个人分开做的,所以前后模块的联合 ...