普元数据开发平台 普元数据开发平台
产品介绍
安装部署
快速入门
操作指南
FAQ
  • 转换组件
  • 字段选择
  • 增加常量
  • Switch/Case
  • 字符串替换
  • 增加序列
  • 字符串截取
  • 去除重复记录
  • 排序记录
  • 排序合并
  • 值映射
  • 计算器
  • 拆分字段
  • 列拆分为多行
  • 运行SSH命令
  • 数据脱敏
  • 设置字段值
  • 列转行
  • 行扁平化

# 转换组件

本章节详细说明输出组件的功能及属性,具体如下:

  • 字段选择
  • 增加常量
  • Switch/Case
  • 字符串替换
  • 增加序列
  • 字符串截取
  • 去除重复记录
  • 排序记录
  • 排序合并
  • 值映射
  • 计算器
  • 拆分字段
  • 列拆分为多行
  • 运行SSH命令
  • 数据脱敏
  • 设置字段值
  • 列转行
  • 行扁平化

# 字段选择

功能介绍:字段选择可以对字段增删改,也可以修改字段名称、数据类型

使用场景:从输入流中选择部分字段,修改字段名称、类型,并将选择的字段输出到下游组件,当字段比较多时,可以用来做过滤和修改操作

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线
字段名称 从前置步骤输出流中选择字段名称
改成名 字段改名后的目标名称,如果不希望改名,那么为空
类型 字段的数据类型
格式 指定字段需要格式化类型
长度 字段长度
精度 数字类型字段的浮点数的精确位数

# 增加常量

功能介绍:增加常量用于在转换模型中增加常量值

使用场景:往输出流中增加常量字段

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线
名称 从前置步骤输出流中选择字段名称
类型 字段的数据类型
格式 指定字段需要格式化类型
长度 字段长度
精度 数字类型字段的浮点数的精确位数
值 表示增加常量字段的值。默认值为空
是否空串 表示是否设为空字符串。默认值为空

# Switch/Case

功能介绍:Switch/Case用于进行条件判断,让数据流从一路到多路

使用场景:下游连接多个组件,根据条件判断,下游执行操作的组件

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
Switch字段 从前置步骤输出流获取字段,将该字段作为条件字段
使用字符串包含比较
是,Switch字段值使用contains对Case值进行判断
否,Switch字段值与Case值使用equals进行判断
Case值数据类型 指定Case值数据类型,保证Switch值类型与Case值一致
Case值转换掩码 指定Case值掩码,保证Switch值格式与Case值一致
Case值小数点符号 指定数字类型Case值精度,保证Switch值精度与Case值一致
case值分组标志 指定数字类型Case值分组标志,保证Switch值与Case值一致
默认目标步骤 转换中任何与Case值不匹配的Case行都被发送到此目标步骤
字段 Case值:Case值
目标步骤:Case值匹配上,转换将进行Case值对应步骤

# 字符串替换

功能介绍:字符串替换用于根据正则表达式或者直接将其他字段的值(前提是字符串类型的)替换掉目标字段中的值

使用场景:替换上游组件输出字段值

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
输入流字段 前置步骤输出流字段,指定要替换的字段名称
输出流字段 指定要输出到流中替换后新字段名称
是否Regex 指定是否要使用正则表达式匹配值
搜索 指定要被替换的值
使用此值替换 值匹配上后,使用该值替换
使用字段值替换 从前置步骤输出流中指定字段,值匹配上后,使用该字段值对输入流字段指定字段值进行替换
是否空串 是:使用空串替换,否:替换值为空时,使用NULL值替换
是否单词匹配 是否替换匹配值的整个单词
是否大小写敏感 搜索值是否区分大小写
是否Unicode 搜索值是否为Unicode字符序列

# 增加序列

功能介绍:增加序列用于给输入流中的数据增加一个自增主键字段

使用场景:输出流中增加一个自增字段

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
值的名称 在输出流中添加序列字段名称
计数器名称 当转换中的多个步骤生成相同的值名称,则需指定要关联的计数器的名称
起始值 序列起始值
增长值 序列每次改变步长
最大值 序列递增或递减边界,当达到最值后,序列从起始值开始重新计数

# 字符串截取

功能介绍:字符串截取用于在字符串中,去除多余的内容,保留需要的内容。例如:在“Hello,World!”字符串中,只保留“Hello”,而去除其余部分

使用场景:从输入流中选择字段,根据指定值进行截取,并将截取后值,放到新字段中,输出到输出流

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
输入流字段 前置步骤输出流字段,指定要剪切的字段名称
输出流字段 指定要输出到流中剪切后的新字段名称
起始位置 表示剪切的起始位置,位置从0开始计算,默认值为空
结束位置 表示结束对字符串剪切的位置,默认值为空

# 去除重复记录

功能介绍:去除重复记录用于将数据流中的数据进行字段比较,从而去掉重复值的过程。去除重复记录的前提是需要将数据流中的数据进行排序,然后再进行去重操作。

使用场景:从输入流中获取字段值,进行去重操作,在使用此组件之前需对表数据进行排序,可以在前置组件例如表输入中进行 order by。

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
计数器字段名称 对重复记录计数的计数器字段名称
错误描述 输出到错误流中,对出现重复记录现象的内容描述
字段 字段名称:从前置步骤输出流中,获取用来比较的字段
忽略大小写:比较字段是否区分大小写

# 排序记录

功能介绍:排序记录用于对字段进行排序,一般都是配合“去除重复记录”和“数据连接”使用

使用场景:可以根据指定的字段对所有记录进行排序,可按升序或者降序

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
临时文件存储目录 排序时存放临时文件的目录
临时文件前缀 临时文件前缀名称
缓存记录数 存放在内存的记录数,存储在内存中的记录越多,生成临时文件越少,排序过程就越快
未使用内存阈值(%) 未使用内存的百分比限值。排序时,如果发现可用的空闲内存少于指定的数字,系统将会将数据写到新的临时文件
压缩临时文件 是否压缩该临时文件
只传递非重复的记录 是否仅向输出流传递唯一的记录
字段 字段名称:从前置步骤输出流中指定排序的字段名称,可用多个字段进行组合排序
是否升序:指定字段排序方式
是否大小写敏感:指定的排序时是否区分大小写
是否使用当前区域:是否使用Collator排序器
校对器强度:指定Collator排序器强度
预排序:是否进行预排序

# 排序合并

功能介绍:排序合并用于合并来自多个输入步骤的行,只要这些行在给定的关键字段上进行了排序

使用场景:接收多个输入流,根据指定字段对合并后的输入流进行排序

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
字段 从前置步骤输出流中,指定排序字段
升序 指定字段排序方式

# 值映射

功能介绍:值映射用于将字符串值从一个值映射到另一个值。

使用场景:将字符串值映射到另一个值,并将新值放到新字段中或者覆盖源字段,通常可以解决存储在数据库中字段值表示形式不同的问题。

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
使用的字段名 源字段
目标字段名 指定生成新值时新字段名称,当为空,将源字段值覆盖
不匹配时的默认值 当源值不匹配时,使用该值
字段 源值:需要映射源字段值
目标值:映射成功后,需替换的值

# 计算器

功能介绍:计算器用于进行字段值的计算。计算器提供了预定义的函数,可以对输入字段值执行这些函数。是常用于计算的自定义JavaScript的一种简单快捷的替代方法。使用时需要指定要执行和返回结果的输入字段和函数类型。

使用场景:选择计算公式,对字段值进行计算

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
文件不存在时抛异常 是否当字段A, B, C中提供文件不存在时,抛异常。该选项针对如CRC-32类即(计算公式名称带file名称)需要提供file计算公式使用
字段 新字段名称:指定存储计算结果的字段名称
计算公式:选择需要使用的计算公式
字段A, B, C:从输入流中选择需要进行计算的字段名称,也可选择设置的新字段名称,也可以设置为常量,用于Set field to constant A这一计算类型给新字段赋值
值类型:为新字段指定字段类型
长度:对于数字:数字的有效长度;对于字符串:字符串的总长度;对于日期:字符串的打印输出长度(例如,输入4只会返回年份)
精确度:对于数字:小数位数
是否移除:下拉框选择是否要移除新字段,如果选择移除则新字段不会出现在输出流当中
字段格式:格式化字符串时需要
小数点符号:在字符型转小数型时,识别字符串中的小数点
分组符号:在字符型转小数型时,识别字符串中的分隔符(例如常见的千位分隔符)
货币符号:指定货币符号

# 拆分字段

功能介绍:拆分字段用于将指定的分隔符将字段拆分为多个字段

使用场景:从输入流中指定字段,该字段值将更具指定分隔符,拆分为多个字段

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
需要拆分的字段名 指定要拆分字段的名称
分隔符 指定字段分隔符。特殊字符(如CHAR ASCII HEX01)可以用$[value]格式设置,如$[01]或$[6F,FF,00,1F]。默认值为“,”英文逗号
忽略括号内的分隔符 忽略括号内的分隔符
字段 新字段名称:拆分出的新的字段名称
新字段ID:拆分出新字段的ID编号
是否移除ID:是否要移除该编号的的字段
类型:字段的数据类型
长度:字段长度
精度:数字类型字段的浮点数的精确位数
格式:字段转换掩码
分组符号:在字符型转小数型时,识别字符串中的分隔符(例如常见的千位分隔符)
小数点符号:在字符型转小数型时,识别字符串中的小数点
货币符号:指定货币符号
Nullif名称:该字段不为空时,新字段数据与改字段指定值相等,且缺省值不为空时,使用缺省值;当新字段数据与改字段指定值相等,且缺省值为空时,使用NULL值,对于字符串类型需根据kettle-variables.xml中KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL值而定的,该值为Y时,使用空字符串,N时使用NULL值
缺省值:新字段数据与Nullif值相等,且缺省值不为空时,使用缺省值
去除空格选择:指定去除拆分后新字段中空格位置

# 列拆分为多行

功能介绍:列拆分为多行用于将指定列通过分隔符拆开,转成多行

使用场景:从输入流中指定字段,该字段值将更具指定分隔符,拆分为多行

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
需要拆分的字段名 从前置步骤输出流中,指定需要拆分字段名
分隔符 指定字段分隔符。特殊字符(如CHAR ASCII HEX01)可以用$[value]格式设置,如$[01]或$[6F,FF,00,1F]。默认值为“,”英文逗号
分隔符是正则表达式 是否使用正则进行拆分,当分隔符为正则时使用
新字段名称 拆分后值字段名称
输出的行号字段名称 在输出流中输出拆分后每行数据行号
重置行号 是否重置行号。重置每行数据行号。例如:该行拆分字段数据为aa;bb,使用;进行拆分,那么输出行号为1,2,在处理下一行数据时,行号会重新从1开始计算

# 运行SSH命令

功能介绍:通过ssh,连接服务器,执行命令,获取结果

使用场景:通过ssh,连接服务器,执行命令,获取结果

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
IP/服务器地址 需要连接服务器地址
端口 需要连接服务器端口
超时时间(秒) ssh连接超时
用户名 需要连接服务器用户名
密码 需要连接服务器密码
是否使用密钥 需要连接服务器是否需要使用密钥
密钥文件地址 需要连接服务器密钥文件地址
口令 需要连接服务器密钥口令
代理主机 需要连接服务器时使用代理主机地址
代理端口 需要连接服务器时使用代理主机端口
代理用户名 需要连接服务器时使用代理主机用户名
代理密码 需要连接服务器时使用代理主机密码
响应字段名 指定包含返回成功结果输出流字段
错误响应字段名 指定包含返回错误结果输出流字段
是否从字段获取命令 是否从前置步骤输出流中获取包含执行命令字段名称
命令字段名 从前置步骤输出流中指定包含执行命令字段名称
命令输入 需要执行命令

# 数据脱敏

功能介绍:数据脱敏用于根据元数据系统采集某表字段信息,对此表抽取的数据中的某些列字段内容,进行数据脱敏

使用场景:选择脱敏算法,对选择的字段值进行处理

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
选择算法 选择脱敏算法
整体算法(OVERALL_CONFIGURATION) 字符参数:脱敏字段值中需要脱敏的数据段
替换字符:替换类算法,使用该值替换脱敏字段值中指定数据段
字段 脱敏字段:从前置步骤输出流中选择需要脱敏的字段
脱敏算法:选择指定脱敏算法,OVERALL_CONFIGURATION使用整体算法配置
字符参数:脱敏字段值中需要脱敏的数据段
日期格式:指定日期类型数据段掩码

# 设置字段值

功能介绍:设置字段值多行用于将一个字段的值替换为另一个字段的值

使用场景:从输入流中获取字段,并将该字段值替换为指定值

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
字段名称 从前置步骤输出流中,指定需要被替换字段名
替换值来源字段 从前置步骤输出流中,指定需要替换字段名

# 列转行

功能介绍:用于将表格中的的列数据转换输出为行数据。

使用场景:

原始数据:

转换:

结果:

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
关键字段 转置列
分组字段 分组列
目标字段 目标字段:选择作为新生成列的最终输出列名
数据字段:新生成列值对应字段
关键字值:关键字对应列名,生成新列按这个值进行划分
类型:字段的数据类型
格式:字段转换掩码
长度:字段长度
精度:数字类型字段的浮点数的精确位数

# 行扁平化

功能介绍:行扁平化允许您平面化顺序提供的数据。当您有一个按连续行组织的文件,其中每行是一个属性,并且您希望将这些行数据结构化为列时,请使用此组件。前置需接排序记录组件。

使用场景:

原始数据:

转换:

结果:

图标:

组件界面:

参数说明:

参数 说明
节点名称 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
需要扁平化的字段 前置步骤输出流字段,指定要扁平化的字段
字段名称 指定生成新列名称

← 输出 脚本 →