在kettle执行的过程中,如果遇到错误,kettle会停止运行。在某些时候,并不希望kettle停止运行,这时候可以使用错误处理(Step Error Handling)。错误处理允许你配置一个步骤来取代出现错误时停止运行一个转换,出现错误的记录行将会传递给另一个步骤。在Step error handling settings对话框里,需要设置启用错误处理。
下面例子中读取postgres数据库中的a0表数据,然后输出到a1表:
a1表结构如下:
CREATE TABLE a1 ( a double precision, id integer NOT NULL, CONSTRAINT idpk PRIMARY KEY (id ), CONSTRAINT idunin UNIQUE (id ) )
从表结构可以看出,a1表中id为主键、唯一。
a0表数据预览:
现在a1表数据为空,执行上面的转换,执行成功之后,a1表数据和a0表数据一致。 再次执行,上面的转换会报错,程序停止运行,会报主键重复的异常。
现在,我想报错之后,程序继续往下执行,并记录错误的记录的相关信息,这时候可以使用“定义错误处理”的功能。 在“表输出”的步骤上右键选择“定义错误处理”,弹出如下对话框。
相关字段说明:
- 目标步骤:指定处理错误的步骤
- 启用错误处理?:设置是否启用错误处理
- 错误数列名:出错的记录个数
- 错误描述列名:描述错误信息的列名称
- 错误列的列名:出错列的名称
- 错误编码列名:描述错误的代码的列名
- 允许的最大错误数:允许的最大错误数,超过此数,不在处理错误
- 允许的最大错误百分比:
- 在计算百分百前最少要读入的行数:
添加错误处理后的转换如下:
记录错误信息的字段列表如下,可以看出,errorNum、errorDesc、errorName、errorCode都是在定义错误处理时候填入的列名称,a、id来自于输入的记录的列。
记录的错误信息如下:
分析 可以看到,错误日志里只是记录了出错的行里面的信息,并没有记录当前行所在的表名称以及执行时间等等,如果能够对此进行扩展,则该错误日志表才能更有实际意义。
说明 1.错误日志的错误码含义(如:TOP001)含义见参考文章2.
相关推荐
为了实现在执行定时任务的过程中,能够保留下Spoon执行错误的具体内容,特此进行了一下“Kettle spoon的定义错误处理”学习。 该spoon项目内容包括,<font color=coral size=4>Excel输入 --> 表输出 --> 获取变量 -...
4. **错误处理**:当数据未通过验证时,需要记录错误并决定如何处理。可以使用"错误输出"步骤将这些数据分离出来,或者用"日志"步骤记录错误信息。 5. **结果输出**:验证后的数据可以被输出到新的数据源,如数据库...
- 学会解读处理后的结果数据,以及错误处理策略。 4. **问题与讨论**: - 引导性问题帮助学生建立基础概念,探究性问题深化理解,拓展性问题鼓励创新思维和实践操作。 5. **教学过程**: - 理论部分详细讲解...
2. **检查空行**:在数据流中,可能会遇到空行,这可能是由于输入数据源的问题或者是数据处理过程中产生的错误。Kettle提供了多种步骤来检测和处理这种情况。例如,可以使用"Filter Rows"步骤来筛选出不满足特定条件...
作业是Kettle中的高级流程控制结构,它由一系列相互连接的步骤组成,用于实现数据处理的完整流程,包括任务的调度和错误处理。转换则是数据处理的单一操作单元,专注于数据的清洗、转换和加载。在手册中,你会了解到...
6. **监控与错误处理**:通过监听器(如`TransListener`或`JobListener`)跟踪Job和转换的进度,以便在出错时进行异常处理。 7. **资源清理**:当转换或作业执行完毕后,记得释放占用的资源,例如关闭打开的数据库...
虽然文档内容并未完全提供,但基于前面介绍的Kettle操作,我们可以知道跑批配置涉及到一系列的设置工作,可能包括定义数据源、选择转换规则、设置输出格式以及指定加载目的地等。 在处理DBF文件时,可能还会涉及到...
8. **错误处理和日志记录**:为保证生产环境的稳定性,应设置适当的错误处理机制,如错误日志记录和错误数据的隔离处理。 通过以上步骤,Kettle可以高效地批量解析XML文件并导入到Oracle数据库,满足生产环境中的...
4. **定义工作流或转换**:通常在Kettle的图形化界面(Spoon)中设计工作流或转换,然后保存为`.ktr`或`.kjb`文件。这些文件可以在项目中作为资源文件,或者从远程服务器获取。 5. **运行Kettle任务**:在Spring ...
Kettle提供了多种错误处理机制,如跳过错误记录、记录错误日志等。 **9.5 转换步骤类型** 文档详细介绍了几种常用的转换步骤类型及其配置方法,如文本文件输入、表输入、获取系统信息等。 - **9.5.1 文本文件输入...
5. **错误处理和日志记录**:为了确保在出现问题时能追踪和调试,插件应具备良好的错误处理机制和日志记录功能。 通过kettle-database-oscar-plugin这个压缩包,我们可以获取到完整的插件源码和必要的资源文件,这...
8. **错误处理与日志记录**:Kettle提供了错误处理机制,可以捕获并处理转换过程中的错误,同时详细记录执行日志,便于问题排查。 9. **调度与监控**:Kettle作业可以配合Pentaho Server进行定时调度,并提供监控...
- **错误处理**:完善的错误处理机制,保证数据处理的健壮性。 综上,Kettle对接TDH和Hive的文档是数据集成过程中重要的参考资料,它详细指导了如何利用Kettle的强大功能与不同的数据平台进行交互,对于理解和实施...
- 定义是指在Kettle中创建的各种对象和实体的详细说明。 3. 转换与任务: - 转换是指数据的提取、转换、加载的过程。 - 任务则是由多个转换组成的作业,用于复杂的调度和流程控制。 4. 选项配置: - General...
JavaScript代码可能包含错误处理机制,确保在Kettle操作失败时能妥善处理。同时,安全考虑也是必不可少的,如确保API调用的安全性,防止未授权访问。 总之,结合JavaScript和Kettle的能力,我们可以构建出强大且...
2. 使用须知:用户需了解Kettle的基本使用规则,比如资源库的配置、性能优化、错误处理等。 知识点四:产品功能及使用 1. 资源库管理:在Kettle中,资源库用于管理ETL作业、Transformation以及相关元数据信息。 2. ...
当某一步骤遇到错误时,可以通过定义错误处理来确保流程的连续性。例如,在将源表数据同步到目标表的场景中,如果目标表字段长度过小导致异常,可以为"Target Table"步骤设置错误处理。通过右键点击并选择“Define ...
当某个步骤遇到错误时,可以通过定义错误处理来确保流程的连续性。例如,你可以为"Target Table"步骤添加错误处理,当目标表字段长度不匹配导致异常时,可以将错误数据重定向到特定的输出。通过右键点击步骤,选择...
总之,Java调用Kettle通过引入相关jar包并利用其API,能够无缝地将强大的Kettle ETL功能集成到Java应用程序中,从而实现更复杂的业务逻辑和数据处理需求。这为开发人员提供了更大的灵活性,同时利用了Kettle的可视化...
6. **错误处理与日志记录**:在脚本执行过程中,需要设置错误处理机制,例如错误跳过或错误记录,同时记录详细的日志,以便于问题排查和优化。 7. **工作流调度**:如果这些操作需要定期执行,可以使用Kettle的...