# 通用组件
本章节详细说明通用组件的功能及属性,具体如下:
# 写日志
功能介绍:该组件将信息写入PDI日志系统。
使用场景:一般将kettle 转换开发完成,都是通过定时任务来调度作业运行。从而实现自动化同步数据,但是在数据运行过程中总有偶尔突发情况,如因网络、字段长度不够导致数据异常等。此时最好追溯问题的办法就是查看日志。
写日志主要是在调试的时候使用,把日志信息打印到日志窗口。
图标:
组件界面:
《基本配置》
注意:此节点为输出节点,须创建连线。
日志信息打印:
选定的日志级别,默认为“基本日志”,如果我们确实遇到复杂的问题,我们可以将日志级别调整至“详细日志”,这样就可以在后台看详细的数据交换。
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
日志级别 | 要使用的日志级别。 包括没有日志、错误日志、最小日志、基本日志、详细日志、调试、行级日志等从上到下越来越详细。 |
行数限制 | 限制要打印的行数,0则不限制。 |
自定义日志 | 要在日志行中使用的文本。 |
内容字段 | 要写入日志的字段数据。 该字段数据可自添加,也可点击“获取字段”提取上一节点输出字段。 |
# 空操作
功能介绍:该组件不做任何事情。它的主要功能是作为测试目的的占位符。
使用场景:例如,要进行转换,您至少需要两个相互连接的步骤。如果要测试文件输入步骤,可以将其连接到一个虚拟步骤。
图标:
组件界面:
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
# 设置变量
功能介绍:该组件用于设置环境变量,范围可以是:JVM变量、作业变量、父作业变量、根作业变量。使用时通过${var}或 %%var%%变量方式引用变量。
使用场景:该组件能够将传递进来的字段数据转变成模型变量,进行对变量的调用操作。
图标:
组件界面:
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
字段 | 字段名:可手动增加,也可以直接获取上一节点字段数据; 变量名:要设置的变量名(不带${…)}或%%…% %了相应的符号); 变量活动类型:定义变量的作用域,可选项有: - 在虚拟机中有效:整个虚拟机将知道这个变量; - 在父作业中有效:变量只在父作业中有效; - 在祖父级父级作业中有效:该变量在祖父级父级作业以及所有子作业和转换中有效; - 在根作业中有效:该变量在根作业以及所有子作业和转换中有效。 默认值:要设置的变量的默认名称。 |
# 获取变量
功能介绍:该该组件允许您获取变量的值。此步骤可以返回行或向输入行添加值。
使用场景:例如,您可以指定:${java.io.tmpdir}/kettle/tempfile.txt,它将在类unix系统上扩展为/tmp/kettle/tempfile.txt。
注意:您必须以${variable}或%%变量%%(如变量中所述)格式指定完整的变量规格。这意味着您还可以在变量列中输入完整的字符串,而不仅仅是一个变量。
图标:
组件界面:
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
字段 | 名称:字段名; 变量:允许您将变量作为完整字符串输入以返回行或向输入行添加值; 类型:指定字段类型:字符串、日期、数字、布尔值、整数、BigNumber、可序列化或二进制; 格式:允许您在确定类型后指定字段的格式; 长度: - For Number:一个数字中有效数字的总数; - For String:字符串的总长度; - For Date:字符串打印输出的长度(例如,输入4只会返回年份); 精度: - For Number:浮点数的个数。不用于字符串、日期或布尔值。 Trim type:在处理前输入trim此字段:选择none、left、right或两者都选择(左和右)。 |
# 数据检验
功能介绍:该组件用于校验数据字段、长度、类型、字段是否为空、字段是否在指定的范围内。
使用场景:数据验证通常用于确保传入的数据具有一定的质量。验证可能由于各种原因而发生,例如,如果您怀疑传入的数据质量不高,或者仅仅是因为您有某个SLA。
Data Validator步骤允许您定义简单的规则来描述字段中的数据应该是什么样子。这可以是一个值范围、一个不同的值列表或数据长度。
该组件允许在单个步骤中对传入数据应用无限数量的验证规则。
图标:
组件界面:
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
是否报告所有错误 | 是否报告所有错误。 |
检验字段名 | 要验证的字段的名称。 |
错误代码 | 要传递给此验证规则的错误处理的错误代码。(覆盖默认值) |
错误描述 | 要传递给此验证规则的错误处理的错误描述。(覆盖默认值) |
检验数据类型 | 如果要指定要匹配的特定数据类型,请勾选此选项。 |
数据类型 | 指定的数据的数据类型或要验证的数据类型。 |
转换掩码 | 用于转换此验证规则中指定的数据的掩码。 |
小数点符号 | 用于转换此验证规则中指定的数据的小数点符号数据。 |
允许空值 | 如果您不希望在所选字段的数据中允许空值,请禁用此选项。 |
最大字符串长度 | 验证所选字段的数据的字符串形式的长度,确保它短于或等于这里指定的长度。 |
最小字符串长度 | 验证所选字段的数据的字符串形式的长度,确保它长于或等于这里指定的长度。 |
最大值 | 验证所选字段的数据,看看它是否不高于这里指定的最大值。 |
最小值 | 验证所选字段的数据,看看它是否低于这里指定的最小值。 |
字符串配置 | 允许的开始字符串:我们验证的值的字符串值需要从这个值开始(当指定时); 允许的结束字符串:我们验证的值的字符串值需要以这个值结束(当指定时); 合法数据正则表达:我们验证的值的字符串值需要匹配这个正则表达式(当指定时); 不合法数据正则表达:我们验证的值的字符串值不允许匹配这个正则表达式(当指定时)。 |
允许的值 | 确保所选字段的数据只是列表中的一个值。 |
是否从其他步骤获取 | 启用此选项以从转换中的另一个步骤获取数据。 |
读取步骤 | 选择了“从其他步骤获取”,需要指定读取的步骤。 |
读取字段 | 选择了“从其他步骤获取”,需要指定读取的字段。 |
# 数据过滤
功能介绍:该组件用于根据条件和比较进行筛选数据行,让数据流从一路到两路。
使用场景:一旦此步骤连接到前一个步骤(一个或多个接收输入),您可以单击《条件配置》中的“字段”、“函数”和“比较字段”区域来构造条件。
若要输入IN LIST操作符,请使用以分号分隔的字符串值。这也适用于整数等数值。值列表必须以字符串类型输入,例如:2;3;7;8。
图标:
组件界面:
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
发送true数据给步骤 | 指定条件为true的行将发送到此步骤。 |
发送false数据给步骤 | 指定条件为false的行将发送到此步骤。 |
条件(NOT) | 单击NOT否定条件。 |
比较字段来源 | 设置比较字段的来源,可选“字段”或“常量”。 |
字段 | 从输入流的字段列表中进行选择,以构建您的条件。 |
函数 | 比较条件/方式。 |
比较字段 | 选择/输入一个特定的值与“字段”进行比较。 |
# 阻塞到最后一行
功能介绍:阻塞到最后一行相关信息。
使用场景:在转换中,因为转换的所有步骤都是同时启动的,所以用到“阻塞”这一个组件实现等待的需求。
图标:
组件界面:
指定要等待的步骤。点击“获取步骤”自动填充步骤信息列表,其中包含转换中可用的所有步骤。
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
获取步骤 | 步骤名称:选择被监视的步骤名称; (可多选,当选择的步骤全部执行完成后,阻塞步骤才通过。) |
# 阻塞数据直到步骤都完成
功能介绍:阻塞数据直到步骤都完成相关信息。
使用场景:此步骤只需等待对话框中指定的所有步骤副本完成。
在转换中,因为转换的所有步骤都是同时启动的,所以用到“阻塞”这一个组件实现等待的需求。
您可以使用它来避免在转换步骤副本之间存在的自然并发性(并行性)。
注意:当步骤(跳)之间的缓冲区已满时,这可能导致转换死锁。一个解决方法是增加“行集中的行数”(设置→杂项)或使用“阻塞”步骤。
图标:
组件界面:
指定要等待的步骤。点击“获取步骤”自动填充步骤信息列表,其中包含转换中可用的所有步骤。
参数说明:
参数 | 说明 |
---|---|
节点名称 | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。 |
获取步骤 | 步骤名称:选择被监视的步骤名称; (可多选,当选择的步骤全部执行完成后,阻塞步骤才通过。) |