时间:2021-07-01 10:21:17 帮助过:147人阅读
在kettle中实现数据验证和检查 在ETL项目,输入数据通常不能保证一致性。在kettle中有一些步骤可以实现数据验证或检查。验证步骤可以在一些计算的基础上验证行货字段;过滤步骤实现数据过滤;javascript步骤可以实现更复杂的计算。 通常以某种方式查看那些数
在kettle中实现数据验证和检查
在ETL项目,输入数据通常不能保证一致性。在kettle中有一些步骤可以实现数据验证或检查。验证步骤可以在一些计算的基础上验证行货字段;过滤步骤实现数据过滤;javascript步骤可以实现更复杂的计算。
通常以某种方式查看那些数据是有缺陷的也是有用的,因为大多数ETL是无人值守运行的,所以通常ETL程序会把这些缺陷数据通知给ETL开发者或管理员。建议把这些问题数据行保存到一个特定的公共表格中,以便跟踪这些数据;那么该表格应该包括一些元信息,如:运行转换的名称、验证错误及错误描述等。
在这里下载示例文件,csv输入文件中记录客户到达和离开的两个健身场所,转换程序验证客户ID,场所名称,日期格式,给定日期的合理性。正确的数据写入到excel文件,错误数据重定向到错误收集步骤,每行错误数据被拼成一个字符字段,同时也收集一些关于转换的元数据信息及错误描述,最终这些错误数据行信息保存到另一个excel文件。
实际场景中输出步骤更可能是表输出步骤,“get System Info”步骤会收集更多数据,之后的错误手机步骤,最好使用子转换,为了在其他转换中重用。
以结构化的方式保存验证错误也使很好地方便数据监测成为可能,ETL过程完成后,可以简单地发送邮件给管理员,简短的说明关于包括错误代码,转换名称,BATCH_ID等数据的缺陷,以及任何你需要的元数据。如果你工作是关于DWH或BI方面的,现在手头已经有了必要的工具。如果您不想使用的excel报告的方式,你可能仍然使用kettle的job创建一个简短的报告文件,并邮寄给了管理员。