
# 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导入导出时，必须填写。
  
- 转换算子 数据转换的中间转换步骤，属于可选类型，各个转换算子可任意搭配使用。转换算子是针对字段而言，必须先使用输入算子，将数据转换成字段。
  
- 输出算子
  数据转换的最后一步，每次转换有且只能有一种输出算子，用于输出处理后的字段。涉及HBase或Hive导入导出时，必须填写。
  表1算子分类一览表 
  | 类型 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  |:---|:---|
  | 输入 | - CSV文件输入：将文件的每一行按指定分隔符转换成多个输入字段。  - 固定宽度文件输入：将文件的每一行，按可配置长度的字符或字节，转换成多个输入字段。  - 表输入：将关系型数据库表的指定列按顺序转换成同等数量的输入字段。  - HBase输入：将HBase表的指定列转换成同等数量的输入字段。  - HTML输入：将HTML文件中的元素转换成输入字段。  - Hive输入：将Hive表的指定列转换成同等数量的输入字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | 转换 | - 长整型时间转换：实现长整型数值与日期类型的互换。  - 空值转换：将空值替换成指定值。  - 增加常量字段：生成常量字段。  - 随机值转换：生成随机数字段。  - 拼接转换：拼接已有字段，生成新字段。  - 分隔转换：将已有字段，按指定分隔符，分隔出新字段。  - 取模转换：对已有字段取模，生成新字段。  - 剪切字符串：通过指定起始位置，截取已有字符串类型的字段，生成新字段。  - EL操作转换：指定算法，对字段值进行运算，目前支持的算法有：md5sum、sha1sum、sha256sum和sha512sum等。  - 字符串大小写转换：对已有的字符串类型字段，切换大小写，生成新字段。  - 字符串逆序转换：对已有的字符串类型字段，做逆序变换，生成新字段。  - 字符串空格清除转换：对已有的字符串类型字段，清除左右空格，生成新字段。  - 过滤行转换：配置逻辑条件过滤掉含触发条件的行。  - 更新域：当满足某些条件时，更新字段的值。   |
  | 输出 | - Hive输出：将已生成的字段输出到Hive表。  - 表输出：将已生成的字段输出到关系型数据库表。  - 文件输出：将已生成的字段通过分隔符连接并输出到文件。  - HBase输出：将已生成的字段输出到HBase表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     
  
 
#### 字段简介
作业配置中的字段是Loader按业务需要定义的与用户数据对应的一种数据项，它拥有具体类型，必须与用户实际数据类型保持一致。
