
# 典型场景：从HDFS导入数据到ClickHouse
#### 操作场景
该任务指导用户使用Loader将文件从HDFS导入到ClickHouse。
#### 前提条件
- 创建或获取该任务中创建Loader作业的业务用户和密码。
- 确保用户已授权访问作业执行时操作的HDFS目录和数据。
- ClickHouse相关表已创建，并确保用户已授权访问作业执行时操作该表的权限。
- 检查磁盘空间，确保没有出现告警且余量满足导入、导出数据的大小。
- 使用Loader从HDFS导入数据时，确保HDFS输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\\"':;,中的任意字符。
- 如果设置的作业需要使用指定YARN队列功能，该用户需要已授权有相关YARN队列的权限。
- 设置任务的用户需要获取该任务的执行权限，并获取该任务对应的连接的使用权限。
 
#### 操作步骤
**设置作业基本信息**
1. 登录"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) 
   
   
   
   
2. 单击"新建作业"，进入"基本信息"界面，创建作业基本信息。 
   图2"基本信息"界面   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001120940618.png)
   1. 在"名称"中输入作业的名称。
   
   2. 在"类型"中选择"导入"。
   
   3. 在"组"中设置作业所属组，默认没有已创建的组，单击"添加"创建一个新的组，输入组的名称，单击"确定"保存。
   
   4. 在"队列"中选择执行该作业的YARN队列。默认值"root.default"。
   
   5. 在"优先级"中选择执行该作业的YARN队列优先级。默认值为"NORMAL"。可选值为"VERY_LOW"、"LOW"、"NORMAL"、"HIGH"和"VERY_HIGH"。
   
   
   
   
3. 在"连接"区域，单击"添加"新建一个连接，在"连接器"中选择"hdfs-connector"，输入配置连接参数，单击"测试"验证连接是否可用，待提示"测试成功"后单击"确定"。
**设置数据源信息**
4. 单击"下一步"，进入"输入设置"界面，设置数据源信息。 
   表1输入设置参数 
   | 参数名   | 说明                                                                                                                                                                              | 示例         |
   |:---|:---|:---|
   | 输入路径  | HDFS中源文件的输入路径。 说明： 路径参数可以使用宏定义，具体请参考[配置项中使用宏定义](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1153.html)。 | /user/test |
   | 路径过滤器 | 配置通配符对源文件的输入路径包含的目录进行过滤。"输入路径"不参与过滤。配置多个过滤条件时使用","隔开，配置为空时表示不过滤目录。不支持正则表达式过滤。                                                                                                   | \*         |
   | 文件过滤器 | 配置通配符对源文件的输入文件名进行过滤。配置多个过滤条件时使用","隔开。不能配置为空。不支持正则表达式过滤。                                                                                                                         | \*         |
   | 编码类型  | 源文件的编码格式，如UTF-8。导入文本文件时才能配置。                                                                                                                                                    | UTF-8      |
   | 后缀名   | 源文件导入成功后对输入文件增加的后缀值。该值为空，表示不加后缀。                                                                                                                                                | .log       |
      
   
   
**设置数据转换**
5. 单击"下一步"，进入"转换"界面，设置数据传输过程中的转换操作。算子的选择和参数设置具体请参考[算子帮助](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1119.html)及[表2]。
   
    表2算子输入、输出参数设置 
   | 输入类型    | 输出类型         |
   |:---|:---|
   | CSV文件输入 | ClickHouse输出 |
      
   图3算子操作方法示意   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001167819269.png)
   
   
**设置数据保存信息并运行作业**
6. 单击"下一步"，进入"输出设置"界面，根据实际场景在"存储类型"选择"CLICKHOUSE"，设置数据保存方式。 
   表3输出设置参数 
   | 存储类型                                              | 参数名          | 说明                                                                                                                                                                                   | 示例         |
   |:---|:---|:---|:---|
   | CLICKHOUSE  | ClickHouse实例 | 在ClickHouse作业中，Loader支持从集群可添加的所有ClickHouse服务实例中选择任意一个。如果选定的ClickHouse服务实例在集群中未添加，则此作业无法正常运行。                                                                                         | ClickHouse |
   | CLICKHOUSE  | 导入前清理数据      | 导入前清空原表的数据。"True"为执行清空，"False"为不执行。不配置此参数则默认不执行清空。 说明： 如果导入的表为ClickHouse分布式表，且需要清理数据时，请在导入前手动删除ClickHouse分布式表对应的本地表中的数据。 | false      |
   | CLICKHOUSE  | Map数         | 配置数据操作的MapReduce任务中同时启动的map数量。参数值必须小于或等于3000。                                                                                                                                        | 20         |
   | CLICKHOUSE  | Map数据块大小     | ClickHouse不支持此参数，请配置"Map数"。                                                                                                                                                          | -          |
   | CLICKHOUSE  | 个数           | Map任务的个数。                                                                                                                                                                            | -          |
      
   
   
7. 单击"保存并运行"，开始保存并运行作业。
**查看作业完成情况**
8. 进入"Loader WebUI"界面，待"状态"显示"成功"则说明作业完成。 
   图4查看作业   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001121100380.png)
   
   
9. 使用ClickHouse客户端，查询ClickHouse表数据是否和HDFS导入的数据一致。
 
