
# 使用Loader导入数据
#### 操作场景
该任务指导用户完成将数据从外部的数据源导入到MRS的工作。
一般情况下，用户可以手工在Loader界面管理数据导入导出作业。当用户需要通过shell脚本来更新与运行Loader作业时，必须对已安装的Loader客户端进行配置。
#### 前提条件
- 创建或获取该任务中创建Loader作业的业务用户和密码。
- 确保用户已授权访问作业执行时操作的HDFS/OBS目录、HBase表和数据。
- 获取外部数据源（SFTP服务器或关系型数据库）使用的用户和密码。
- 检查磁盘空间，确保没有出现告警且余量满足导入、导出数据的大小。
- 使用Loader从SFTP、FTP和HDFS/OBS导入数据时，确保外部数据源的输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\\"':;,中的任意字符。
- 如果设置的任务需要使用指定Yarn队列功能，该用户需要已授权有相关Yarn队列的权限。
- 设置任务的用户需要获取该任务的执行权限，并获取该任务对应的连接的使用权限。
 
#### 操作步骤
1. 是否第一次从MRS导入数据到关系型数据库： 
   - 是，执行[2]。
   
   - 否，执行[3]。
   
   
   
   
2. 修改关系型数据库对应的驱动jar包文件权限。
   
   1. 登录Loader服务的主备管理节点，获取关系型数据库对应的驱动jar包保存在Loader服务主备节点的lib路径："${BIGDATA_HOME}/FusionInsight_Porter_8.1.0.1/install/FusionInsight-Sqoop-1.99.3/FusionInsight-Sqoop-1.99.3/server/webapps/loader/WEB-INF/ext-lib"。
      ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
      此处版本号8.1.0.1为示例，具体以实际环境的版本号为准。
      
   
   2. 使用**root** 用户在Loader服务主备节点分别执行以下命令修改权限：
      **cd ${BIGDATA_HOME}/FusionInsight_Porter_8.1.0.1/install/FusionInsight-Sqoop-1.99.3/FusionInsight-Sqoop-1.99.3/server/webapps/loader/WEB-INF/ext-lib**
      **chown omm:wheel** *jar* *包文件名*
      **chmod 600** *jar* *包文件名*
      
   
   3. 登录FusionInsight Manager系统，选择"集群 \> *待操作集群名称* \> 服务 \> Loader \> 更多 \> 重启服务"输入管理员密码重启Loader服务。
   
   
   
   
3. 登录"Loader WebUI"界面。
   
   1. 登录FusionInsight Manager系统，具体请参见[访问FusionInsight Manager（MRS 3.x及之后版本）](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_2124.html)。
   
   2. 选择"集群 \> *待操作集群名称* \> 服务 \> Loader"。
   
   3. 单击"LoaderServer(*节点名称* ，主)"打开"Loader WebUI"界面。
      图1Loader WebUI界面   
      ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001407248238.png) 
   
   
   
   
4. 创建Loader数据导入作业，单击"新建作业"，在"1.基本信息"选择所需要的作业类型，然后单击"下一步"。 
   1. "名称"输入作业的名称，"类型"选择"导入"。
   
   2. "连接"选择一个连接。默认没有已创建的连接，单击"添加"创建一个新的连接，完成后单击"测试"，测试是否可用，待提示成功后单击"确定"。
      MRS与外部数据源交换数据和文件时需要连接数据源，"连接"表示连接数据源时的连接参数集合。
      表1连接配置参数一览表 
      | 连接器类型                      | 参数名        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      |:---|:---|:---|
      | generic-jdbc-connector     | JDBC驱动程序类  | JDBC驱动类名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      | generic-jdbc-connector     | JDBC连接字符串  | JDBC连接字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      | generic-jdbc-connector     | 用户名        | 连接数据库使用的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | generic-jdbc-connector     | 密码         | 连接数据库使用的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      | generic-jdbc-connector     | JDBC连接属性   | JDBC连接属性，单击"添加"手动添加。 - 名称：连接属性名。  - 值：连接属性值。                                                                                                                                                                                         |
      | ftp-connector              | FTP服务器的IP  | FTP服务器的IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | ftp-connector              | FTP服务器端口   | FTP服务器的端口号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      | ftp-connector              | FTP用户名     | 访问FTP服务器的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      | ftp-connector              | FTP密码      | 访问FTP服务器的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | ftp-connector              | FTP模式      | 设置FTP访问模式，"ACTIVE"表示主动模式，"PASSIVE"表示被动模式。不指定参数值，默认为被动模式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      | ftp-connector              | FTP协议      | 设置FTP传输协议： - "FTP"：FTP协议。  - "SSL_EXPLICIT"：显式SSL协议。  - "SSL_IMPLICIT"：隐式SSL协议。  - "TLS_EXPLICIT"：显式TLS协议。  - "TLS_IMPLICIT"：隐式TLS协议。   不指定参数值，默认为FTP协议。 |
      | ftp-connector              | 文件名编码类型    | 填写FTP服务器支持的文件名、文件路径编码格式，不填写时使用系统默认格式"UTF-8"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | hdfs-connector             | -          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
      | oracle-connector           | JDBC连接字符串  | 用户连接数据库的连接字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      | oracle-connector           | 用户名        | 连接数据库使用的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | oracle-connector           | 密码         | 连接数据库使用的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      | oracle-connector           | 连接属性       | 连接属性，单击"添加"手动添加。 - 名称：连接属性名。  - 值：连接属性值。                                                                                                                                                                                             |
      | mysql-fastpath-connector   | JDBC连接字符串  | JDBC连接字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      | mysql-fastpath-connector   | 用户名        | 连接数据库使用的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | mysql-fastpath-connector   | 密码         | 连接数据库使用的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      | mysql-fastpath-connector   | 连接属性       | 连接属性，单击"添加"手动添加。 - 名称：连接属性名。  - 值：连接属性值。                                                                                                                                                                                             |
      | sftp-connector             | Sftp服务器的IP | SFTP服务器的IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      | sftp-connector             | Sftp服务器端口  | SFTP服务器的端口号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | sftp-connector             | Sftp用户名    | 访问SFTP服务器的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      | sftp-connector             | Sftp密码     | 访问SFTP服务器的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      | sftp-connector             | Sftp公钥     | Sftp服务器公钥。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      | oracle-partition-connector | JDBC驱动程序类  | JDBC驱动类名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      | oracle-partition-connector | JDBC连接字符串  | JDBC连接字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      | oracle-partition-connector | 用户名        | 连接数据库使用的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | oracle-partition-connector | 密码         | 连接数据库使用的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      | oracle-partition-connector | 连接属性       | 连接属性，单击"添加"手动添加。 - 名称：连接属性名。  - 值：连接属性值。                                                                                                                                                                                             |
         
      
   
   3. "组"设置作业所属组，默认没有已创建的组，单击"添加"创建一个新的组，单击"确定"保存。
   
   4. "队列"设置Loader的任务在指定的Yarn队列中执行。默认值"root.default"表示任务在"default"队列中执行。
   
   5. "优先级"设置Loader的任务在指定的Yarn队列中的优先级。可选值为"VERY_LOW"、"LOW"、"NORMAL"、"HIGH"和"VERY_HIGH"。默认值为"NORMAL"。
   
   
   
   
5. 在"2.输入设置"，设置数据来源，然后单击"下一步"。 
   ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 创建或者编辑Loader作业时，在配置SFTP路径、HDFS/OBS路径、SQL的Where条件等参数时，可以使用宏定义，具体请参考[配置项中使用宏定义](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1153.html)章节。
   
   - Loader支持常见的字段数据类型，如Char、VarChar、Boolean、Binary、SmallInt、Int、BigInt、Decimal、Float、Double、Date、Time、TimeStamp、String等，具体支持类型根据数据来源的不同可能会有所变化，具体支持的类型可以参考Loader界面中相应输入算子（如表输入等）的字段数据类型下拉框中的内容。一些数据库的特有字段可能不被支持，例如Loader不支持oracle中的CLOB和XMLType、BLOB字段。
    
   表2输入配置参数一览表 
   | 源文件类型                        | 参数名     | 解释说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|:---|
   | sftp-connector或ftp-connector | 输入路径    | SFTP服务器中源文件的输入路径，如果连接器配置多个地址此处可对应使用分号分隔多个输入路径，数量需要与连接器中服务器的数量一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | sftp-connector或ftp-connector | 文件分割方式  | 选择按文件或大小分割源文件，作为数据导入的MapReduce任务中各个map的输入文件。 - 选择"FILE"表示每个map处理1个或多个完整的源文件，同一个源文件不可分配至不同map，数据保存至输出目录时将保留输入路径的目录结构  - 选择"SIZE"表示每个map处理一定大小的输入文件，同一个源文件可分割至多个map，数据保存至输出目录时保存的文件数与map数量相同，文件名格式为"import_part_xxxx"，"xxxx"为系统生成的随机数，具有唯一性。                                                                                                                                                                                    |
   | sftp-connector或ftp-connector | 过滤器类型   | 选择文件过滤的条件。"WILDCARD"表示使用通配符过滤，"REGEX"表示使用正则表达式匹配。与"路径过滤器"和"文件过滤器"配合使用。不选择值时默认为通配符过滤。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | sftp-connector或ftp-connector | 路径过滤器   | 与"过滤器类型"配合使用，配置通配符或正则表达式对源文件的输入路径包含的目录进行过滤。输入路径"输入路径"不参与过滤。配置多个过滤条件时使用逗号隔开，配置为空时表示不过滤目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | sftp-connector或ftp-connector | 文件过滤器   | 与"过滤器类型"配合使用，配置通配符或正则表达式对源文件的输入文件名进行过滤。配置多个过滤条件时使用逗号隔开。不能配置为空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | sftp-connector或ftp-connector | 编码类型    | 源文件的编码格式，如UTF-8。导入文本文件时才能配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | sftp-connector或ftp-connector | 后缀名     | 源文件导入成功后对输入文件增加的后缀值。该值为空，表示不加后缀。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | sftp-connector或ftp-connector | 压缩      | 使用SFTP协议导数据时，是否开启压缩传输功能以减小带宽使用。"true"为开启压缩，"false"为关闭压缩。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | hdfs-connector               | 输入路径    | HDFS中源文件的输入路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | hdfs-connector               | 路径过滤器   | 配置通配符对源文件的输入路径包含的目录进行过滤。输入路径不参与过滤。配置多个过滤条件时使用逗号隔开，配置为空时表示不过滤目录。不支持正则表达式过滤。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | hdfs-connector               | 文件过滤器   | 配置通配符对源文件的输入文件名进行过滤。配置多个过滤条件时使用逗号隔开。不能配置为空。不支持正则表达式过滤。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | hdfs-connector               | 编码类型    | 源文件的编码格式，如UTF-8。导入文本文件时才能配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | hdfs-connector               | 后缀名     | 源文件导入成功后对输入文件增加的后缀值。该值为空，表示不加后缀。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | generic-jdbc-connector       | 架构名称    | "表方式"模式下存在，数据库模式名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | generic-jdbc-connector       | 表名      | "表方式"模式下存在，数据库表名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | generic-jdbc-connector       | SQL语句   | "SQL方式"模式下存在，配置要查询的SQL语句，使Loader可通过SQL语句查询结果并作为导入的数据。SQL语句需要有查询条件"WHERE ${CONDITIONS}"，否则无法正常工作。例如，"select \* from TABLE WHERE A\>B and ${CONDITIONS}"。如果同时配置"表列名"，SQL语句中查询的列将被"表列名"配置的列代替。不能和"架构名称"、"表名"同时配置。                                                                                                                                                                                                                                                                                                                                                                                                          |
   | generic-jdbc-connector       | 表列名     | 配置要导入的列，使Loader将列的内容全部导入。配置多个字段时使用逗号分隔。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | generic-jdbc-connector       | 分区列名    | 指定数据库表的一列，根据该列来划分要导入的数据，在map任务中用于分区。建议配置主键字段。 说明： - 分区列必须有索引，如果没有索引，请不要指定分区列，指定没有索引的分区列会导致数据库服务器磁盘I/O繁忙，影响其他业务访问数据库，并且导入时间长。  - 在有索引的多个字段中，选择字段值最离散的字段作为分区列，不离散的分区列会导致多个导入MR任务负载不均衡。  - 分区列的排序规则必须支持大小写敏感，否则在数据导入过程中，可能会出现数据丢失。  - 不建议分区列选择类型为float或double的字段，因为精度问题，可能导致分区列字段的最小值、最大值所在记录无法导入。   |
   | generic-jdbc-connector       | 分区列空值   | 配置对数据库列中为null值记录的处理方式。值为"true"时，分区列的值为null的数据会被处理；值为"false"时，分区列的值为null的数据不会被处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | generic-jdbc-connector       | 是否指定分区列 | 是否指定分区列。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | oracle-connector             | 表名      | 表名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | oracle-connector             | 列名      | 列名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | oracle-connector             | 查询条件    | SQL语句中的查询条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | oracle-connector             | 切分方式    | 指定数据的切分方式，有"ROWID"和"PARTITION"两种。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | oracle-connector             | 表分区名    | 表分区名，使用逗号分隔不同的分区。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | oracle-connector             | 数据块分配方式 | 指定数据切分后，如何分配。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | oracle-connector             | 读取大小    | 指定每次读取多大的数据量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | mysql-fastpath-connector     | 架构名称    | 数据库模式名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | mysql-fastpath-connector     | 表名      | 数据库表名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | mysql-fastpath-connector     | 查询条件    | 指定表的查询条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | mysql-fastpath-connector     | 分区列名    | 指定数据库表的一列，根据该列来划分要导入的数据，在map任务中用于分区。建议配置主键字段。 说明： - 分区列必须有索引，如果没有索引，请不要指定分区列，指定没有索引的分区列会导致数据库服务器磁盘I/O繁忙，影响其他业务访问数据库，并且导入时间长。  - 在有索引的多个字段中，选择字段值最离散的字段作为分区列，不离散的分区列会导致多个导入MR任务负载不均衡。  - 不建议分区列选择类型为float或double的字段，因为精度问题，可能导致分区列字段的最小值、最大值所在记录无法导入。                                                                                                     |
   | mysql-fastpath-connector     | 分区列空值   | 配置对数据库列中为null值记录的处理方式。 - 值为"true"时，分区列的值为null的数据会被处理。  - 值为"false"时，分区列的值为null的数据不会被处理。                                                                                                                                                                                                                                                                                                                                        |
   | mysql-fastpath-connector     | 是否指定分区列 | 是否指定分区列。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | oracle-partition-connector   | 架构名称    | 数据库模式名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | oracle-partition-connector   | 表名      | 分区表名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | oracle-partition-connector   | 查询条件    | SQL语句中的查询条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | oracle-partition-connector   | 表列名     | 配置要导入的列，使Loader将列的内容全部导入。配置多个字段时使用逗号分隔。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      
   
   
6. 在"3.转换"设置数据传输过程中的转换操作。 
   确认Loader创建的数据操作作业中，源数据的值是否满足直接使用需求而不进行转换，例如大小写转换、截取、拼接和分隔。
   - 满足需求，请单击"下一步"。
   
   - 不满足需求，请执行[6.a]～[6.d]。
   
   
   1. 默认没有已创建的转换步骤，可拖动左侧样例到编辑框，添加一个新的转换步骤。
   
   2. 完整的转换流程包含以下类型，每个类型请根据业务需要进行选择。
      1. 输入类型，第一个转换步骤，仅添加一种，任务涉及HBase或关系型数据库必须添加。
      
      2. 转换类型，中间转换步骤，可添加一种以上或不添加。
      
      3. 输出类型，最后一个转换步骤，仅添加一种，任务涉及HBase或关系型数据库必须添加。
         表3样例一览表 
         | 类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
         |:---|:---|
         | 输入类型 | - CSV文件输入：CSV文件输入步骤，配置分隔符以转换生成多个字段。  - 固定宽度文件输入：文本文件输入步骤，配置截取字符或字节的长度以转换生成多个字段。  - 表输入：关系型数据输入步骤，配置数据库的指定列为输入的字段。  - HBase输入：HBase表输入步骤，配置HBase表的列定义到指定字段。  - HTML输入：HTML网页数据输入步骤，配置获取HTML网页文件目标数据到指定字段。  - Hive输入：Hive表输入步骤，配置Hive表的列定义到指定字段。  - Spark输入：SparkSQL表输入步骤，配置SparkSQL表的列定义到指定字段。仅支持SparkSQL存取Hive数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
         | 转换类型 | - 长整型时间转换：长整型日期转换步骤，配置长整型数值与日期的转换。  - 空值转换：空值转换步骤，配置指定值替换空值。  - 随机值转换：随机数据生成步骤，配置新增值为随机数据的字段。  - 增加常量字段：增加常量步骤，配置直接生成常量字段。  - 拼接转换：拼接字段步骤，配置已生成的字段通过连接符连接，转换出新的字段。  - 分隔转换：分隔字段步骤，配置已生成的字段通过分隔符分隔，转换出新的字段。  - 取模转换：取模运算步骤，配置已生成的字段通过取模，转换出新的字段。  - 剪切字符串：字符串截取步骤，配置已生成的字段通过指定位置截取，转换出新的字段。  - EL操作转换：计算器，可以对字段值进行运算，目前支持的算子有：md5sum、sha1sum、sha256sum和sha512sum等。  - 字符串大小写转换：字符串转换步骤，配置已生成的字段通过大小写变换，转换出新的字段。  - 字符串逆序转换：字符串逆序步骤，配置已生成的字段通过逆序，转换出新的字段。  - 字符串空格清除转换：字符串空格清除步骤，配置已生成的字段通过清除空格，转换出新的字段。  - 过滤行转换：过滤行步骤，配置逻辑条件过滤掉含触发条件的行。  - 更新域：更新域步骤，配置当满足某些条件时，更新指定字段的值。   |
         | 输出类型 | - 文件输出：文本文件输出步骤，配置已生成的字段通过分隔符连接并输出到文件。  - 表输出：关系型数据库输出步骤，配置输出的字段对应到数据库的指定列。  - HBase输出：HBase表输出步骤，配置已生成的字段输出到HBase表的列。  - Hive输出：Hive表输出步骤，配置已生成的字段输出到Hive表的列。  - Spark输出：SparkSQL表输出步骤，配置已生成的字段输出到SparkSQL表的列。仅支持SparkSQL存取Hive数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
            
         编辑栏包括以下几种任务：
         - 重命名：重命名样例。
         
         - 编辑：编辑步骤转换，参考[6.c]。
         
         - 删除：删除样例。
           ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
           也可使用快捷键"Del"删除。
           
          
       
   
   3. 单击"编辑"，编辑步骤转换信息，配置字段与数据。
      步骤转换信息中的具体参数设置请参考[算子帮助](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1119.html)。
      ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
      - 使用sftp-connector或ftp-connector导入数据时，在数据转换步骤中，需要将原数据中时间类型数值对应的字段，设置为字符串类型，才能精确到毫秒并完成导入。数据中包含比毫秒更精确的部分不会被导入。
      
      - 使用generic-jdbc-connector导入数据时，在数据转换步骤中，建议"CHAR"或"VARCHAR"类型字段设置数据长度为"-1"，使全部数据正常导入，避免实际数据字符太长时被部分截取，出现缺失。
      
      - 使用generic-jdbc-connector导入数据时，在数据转换步骤中，需要将原数据中时间类型数值对应的字段，设置为时间类型，才能精确到秒并完成导入。数据中包含比秒更精确的部分不会被导入。
      
      - 导入到Hive分区表内表时，Hive默认不会扫描新导入的数据，需要执行如下HQL修复表才可以查询到新导入数据： **MSCK REPAIR TABLE** *table_name*;
        
       
      转换步骤配置不正确时，传输的数据将无法转换并成为脏数据，脏数据标记规则如下：
      - 任意输入类型步骤中，原数据包含字段的个数小于配置字段的个数，或者原数据字段值与配置字段的类型不匹配时，全部数据成为脏数据。
      
      - "CSV文件输入"步骤中，"验证输入字段"检验输入字段与值的类型匹配情况，检查不匹配时跳过该行，当前行成为脏数据。
      
      - "固定宽度文件输入"步骤中，"固定长度"指定字段分割长度，长度大于原字段值的长度则数据分割失败，当前行成为脏数据。
      
      - "HBase输入"步骤中，"HBase表名"指定HBase表名不正确，或者"主键"没有配置主键列，全部数据成为脏数据。
      
      - 任意转换类型步骤中，转换失败的行成为脏数据。例如"分隔转换"步骤中，生成的字段个数小于配置字段的个数，或者原数据不能转换为String类型，当前行成为脏数据。
      
      - "过滤行转换"步骤中，被筛选条件过滤的行成为脏数据。
      
      - "取模转换"步骤中，原字段值为"NULL"，当前行成为脏数据。
      
      - 对于导入数据到Hive/SparkSQL表的作业，必须配置Hive的转换步骤。
       
   
   4. 单击"下一步"。
   
   
   
   
7. 在"4.输出设置"，设置数据保存目标位置，然后单击"保存"保存作业或"保存并运行"，保存作业并运行作业。 
   表4输出配置参数一览表 
   | 存储类型           | 参数名      | 解释说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|:---|
   | HDFS           | 文件类型     | 在下拉菜单中选择数据导入HDFS后保存文件的文件类型。 - "TEXT_FILE"：导入文本文件并保存为文本文件。  - "SEQUENCE_FILE"：导入文本文件并保存为sequence file文件格式。  - "BINARY_FILE"：以二进制流的方式导入文件，可以导入任何格式的文件，不对文件做任何处理。 说明： 文件类型选择"TEXT_FILE"或"SEQUENCE_FILE"导入时，Loader会自动根据文件的后缀选择对应的解压方法，对文件进行解压。                                                                                                                                                                                                                                    |
   | HDFS           | 压缩格式     | 在下拉菜单中选择数据导入HDFS后保存文件的压缩格式，未配置或选择NONE表示不压缩数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | HDFS           | 输出目录     | 数据导入到HDFS里存储的保存目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | HDFS           | 文件操作方式   | 数据导入时的操作行为。全部数据从输入路径导入到目标路径时，先保存在临时目录，然后再从临时目录复制转移至目标路径，任务完成时删除临时路径的文件。转移临时文件存在同名文件时有以下行为： - "OVERRIDE"：直接覆盖旧文件。  - "RENAME"：重命名新文件。无扩展名的文件直接增加字符串后缀，有扩展名的文件在文件名增加字符串后缀。字符串具有唯一性。  - "APPEND"：在旧文件尾部合并新文件内容。合并操作只是简单的追加，不保证追加文件是否可以使用。例如文本文件可合并，压缩文件合并后可能无法使用。  - "IGNORE"：保留旧文件，不复制新文件。  - "ERROR"：转移过程中出现同名文件时任务将停止执行并报错，已转移的文件导入成功，同名的文件及未转移的文档导入失败。   |
   | HDFS           | Map数     | 配置数据操作的MapReduce任务中同时启动的map数量。不可与"Map数据块大小"同时配置。参数值必须小于或等于"3000"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | HDFS           | Map数据块大小 | 配置数据操作的MapReduce任务中启动map所处理的数据大小，单位为MB。参数值必须大于或等于"100"，建议配置值为"1000"。不可与"Map数"同时配置。当使用关系型数据库连接器时，不支持"Map数据块大小"，请配置"Map数"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | HBASE_BULKLOAD | HBase实例  | 在HBase作业中，Loader支持从集群可添加的所有HBase服务实例中选择任意一个。如果选定的HBase服务实例在集群中未添加，则此作业无法正常运行。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | HBASE_BULKLOAD | 导入前清理数据  | 导入前清空原表的数据。"true"为执行清空，"false"为不执行。不配置此参数则默认不执行清空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | HBASE_BULKLOAD | Map数     | 配置数据操作的MapReduce任务中同时启动的map数量。参数值必须小于或等于"3000"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | HBASE_BULKLOAD | Map数据块大小 | HBase不支持此参数，请配置"Map数"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | HBASE_PUTLIST  | HBase实例  | 在HBase作业中，Loader支持从集群可添加的所有HBase服务实例中选择任意一个。如果选定的HBase服务实例在集群中未添加，则此作业无法正常运行。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | HBASE_PUTLIST  | Map数     | 配置数据操作的MapReduce任务中同时启动的map数量。参数值必须小于或等于"3000"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | HBASE_PUTLIST  | Map数据块大小 | HBase不支持此参数，请配置"Map数"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | HIVE           | 输出目录     | 数据导入到Hive里存储的保存目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | HIVE           | Map数     | 配置数据操作的MapReduce任务中同时启动的map数量。不可与"Map数据块大小"同时配置。参数值必须小于或等于"3000"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | HIVE           | Map数据块大小 | 配置数据操作的MapReduce任务中启动map所处理的数据大小，单位为MB。参数值必须大于或等于"100"，建议配置值为"1000"。不可与"Map数"同时配置。当使用关系型数据库连接器时，不支持"Map数据块大小"，请配置"Map数"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | SPARK          | 输出目录     | 仅支持SparkSQL存取Hive数据，指定数据导入到Hive里存储的保存目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | SPARK          | Map数     | 配置数据操作的MapReduce任务中同时启动的map数量。不可与"Map数据块大小"同时配置。参数值必须小于或等于"3000"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | SPARK          | Map数据块大小 | 配置数据操作的MapReduce任务中启动map所处理的数据大小，单位为MB。参数值必须大于或等于"100"，建议配置值为"1000"。不可与"Map数"同时配置。当使用关系型数据库连接器时，不支持"Map数据块大小"，请配置"Map数"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      
   
   
8. 已创建的作业可以在"Loader WebUI"界面上进行浏览，可进行启动、停止、复制、删除、编辑和查看历史信息操作。 
   图2查看Loader作业   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0264265617.png)
   
   
 
