更新时间:2022-09-30 GMT+08:00

概述

“算子帮助”章节适用于MRS 3.x及后续版本。

转换流程

Loader读取源端数据,通过输入算子将数据按规则逐一转换成字段,再通过转换算子,对这些字段做清洗或转换,最后通过输出算子将处理后的字段,输出到目标端。

  • 每个作业,如果进行数据转换操作,有且只能有一个输入算子,有且只能有一个输出算子。
  • 不符合转换规则的数据,将成为脏数据跳过。
  • 从关系型数据库导入数据到HDFS/OBS,可以不用配置数据转换,数据将按“,”分隔保存到HDFS/OBS。
  • 从HDFS/OBS导出数据到关系型数据库,可以不用配置数据转换,数据将按“,”分隔保存到关系型数据库。

算子简介

Loader算子包括以下类型:

  • 输入算子

    数据转换的第一步,负责将数据转换成字段,每次转换有且只能有一种输入算子,涉及HBase或Hive导入导出时,必须填写。

  • 转换算子

    数据转换的中间转换步骤,属于可选类型,各个转换算子可任意搭配使用。转换算子是针对字段而言,必须先使用输入算子,将数据转换成字段。

  • 输出算子
    数据转换的最后一步,每次转换有且只能有一种输出算子,用于输出处理后的字段。涉及HBase或Hive导入导出时,必须填写。
    表1 算子分类一览表

    类型

    描述

    输入

    • CSV文件输入:将文件的每一行按指定分隔符转换成多个输入字段。
    • 固定宽度文件输入:将文件的每一行,按可配置长度的字符或字节,转换成多个输入字段。
    • 表输入:将关系型数据库表的指定列按顺序转换成同等数量的输入字段。
    • HBase输入:将HBase表的指定列转换成同等数量的输入字段。
    • HTML输入:将HTML文件中的元素转换成输入字段。
    • Hive输入:将Hive表的指定列转换成同等数量的输入字段。

    转换

    • 长整型时间转换:实现长整型数值与日期类型的互换。
    • 空值转换:将空值替换成指定值。
    • 增加常量字段:生成常量字段。
    • 随机值转换:生成随机数字段。
    • 拼接转换:拼接已有字段,生成新字段。
    • 分隔转换:将已有字段,按指定分隔符,分隔出新字段。
    • 取模转换:对已有字段取模,生成新字段。
    • 剪切字符串:通过指定起始位置,截取已有字符串类型的字段,生成新字段。
    • EL操作转换:指定算法,对字段值进行运算,目前支持的算法有:md5sum、sha1sum、sha256sum和sha512sum等。
    • 字符串大小写转换:对已有的字符串类型字段,切换大小写,生成新字段。
    • 字符串逆序转换:对已有的字符串类型字段,做逆序变换,生成新字段。
    • 字符串空格清除转换:对已有的字符串类型字段,清除左右空格,生成新字段。
    • 过滤行转换:配置逻辑条件过滤掉含触发条件的行。
    • 更新域:当满足某些条件时,更新字段的值。

    输出

    • Hive输出:将已生成的字段输出到Hive表。
    • 表输出:将已生成的字段输出到关系型数据库表。
    • 文件输出:将已生成的字段通过分隔符连接并输出到文件。
    • HBase输出:将已生成的字段输出到HBase表。

字段简介

作业配置中的字段是Loader按业务需要定义的与用户数据对应的一种数据项,它拥有具体类型,必须与用户实际数据类型保持一致。