Loader算子说明
转换流程
Loader读取源端数据,通过输入算子将数据按规则逐一转换成字段,再通过转换算子,对这些字段做清洗或转换,最后通过输出算子将处理后的字段,输出到目标端。
- 每个作业,如果进行数据转换操作,有且只能有一个输入算子,有且只能有一个输出算子。
- 不符合转换规则的数据,将成为脏数据跳过。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 从关系型数据库导入数据到HDFS/OBS,可以不用配置数据转换,数据将按“,”分隔保存到HDFS/OBS。
- 从HDFS/OBS导出数据到关系型数据库,可以不用配置数据转换,数据将按“,”分隔保存到关系型数据库。
算子简介
Loader算子包括以下类型:
- 输入算子
- 转换算子
数据转换的中间转换步骤,属于可选类型,各个转换算子可任意搭配使用。转换算子是针对字段而言,必须先使用输入算子,将数据转换成字段。
- 输出算子
数据转换的最后一步,每次转换有且只能有一种输出算子,用于输出处理后的字段。涉及HBase或Hive导入导出时,必须填写。
表1 算子分类一览表 类型
描述
输入
- CSV文件输入:将文件的每一行按指定分隔符转换成多个输入字段。
- 固定宽度文件输入:将文件的每一行,按可配置长度的字符或字节,转换成多个输入字段。
- 表输入:将关系型数据库表的指定列按顺序转换成同等数量的输入字段。
- HBase输入:将HBase表的指定列转换成同等数量的输入字段。
- HTML输入:将HTML文件中的元素转换成输入字段。
- Hive输入:将Hive表的指定列转换成同等数量的输入字段。
转换
- 长整型时间转换:实现长整型数值与日期类型的互换。
- 空值转换:将空值替换成指定值。
- 增加常量字段:生成常量字段。
- 随机值转换:生成随机数字段。
- 拼接转换:拼接已有字段,生成新字段。
- 分隔转换:将已有字段,按指定分隔符,分隔出新字段。
- 取模转换:对已有字段取模,生成新字段。
- 剪切字符串:通过指定起始位置,截取已有字符串类型的字段,生成新字段。
- EL操作转换:指定算法,对字段值进行运算,目前支持的算法有:md5sum、sha1sum、sha256sum和sha512sum等。
- 字符串大小写转换:对已有的字符串类型字段,切换大小写,生成新字段。
- 字符串逆序转换:对已有的字符串类型字段,做逆序变换,生成新字段。
- 字符串空格清除转换:对已有的字符串类型字段,清除左右空格,生成新字段。
- 过滤行转换:配置逻辑条件过滤掉含触发条件的行。
- 更新域:当满足某些条件时,更新字段的值。
输出
- Hive输出:将已生成的字段输出到Hive表。
- 表输出:将已生成的字段输出到关系型数据库表。
- 文件输出:将已生成的字段通过分隔符连接并输出到文件。
- HBase输出:将已生成的字段输出到HBase表。
字段简介
作业配置中的字段是Loader按业务需要定义的与用户数据对应的一种数据项,它拥有具体类型,必须与用户实际数据类型保持一致。