
# 概述
"数据导入"章节适用于MRS 3.x及后续版本。
#### 简介
Loader是实现MRS与外部数据源如关系型数据库、SFTP服务器、FTP服务器之间交换数据和文件的ETL工具，支持将数据或文件从关系型数据库或文件系统导入到MRS服务中。
Loader支持如下数据导入方式：
- 从关系型数据库导入数据到HDFS/OBS。
- 从关系型数据库导入数据到HBase。
- 从关系型数据库导入数据到Phoenix表。
- 从关系型数据库导入数据到Hive表。
- 从SFTP服务器导入数据到HDFS/OBS。
- 从SFTP服务器导入数据到HBase。
- 从SFTP服务器导入数据到Phoenix表。
- 从SFTP服务器导入数据到Hive表。
- 从FTP服务器导入数据到HDFS/OBS。
- 从FTP服务器导入数据到HBase。
- 从FTP服务器导入数据到Phoenix表。
- 从FTP服务器导入数据到Hive表。
- 从同一集群内HDFS/OBS导入数据到HBase。
MRS与外部数据源交换数据和文件时需要连接数据源。系统提供以下连接器，用于配置不同类型数据源的连接参数：
- generic-jdbc-connector：关系型数据库连接器。
- ftp-connector：FTP数据源连接器。
- hdfs-connector：HDFS数据源连接器。
- oracle-connector：Oracle数据库专用连接器，使用row_id作为分区列，相对generic-jdbc-connector来说，Map任务分区更均匀，并且不依赖分区列是否有创建索引。
- mysql-fastpath-connector：MYSQL数据库专用连接器，使用MYSQL的mysqldump和mysqlimport工具进行数据的导入导出，相对generic-jdbc-connector来说，导入导出速度更快。
- sftp-connector：SFTP数据源连接器。
- oracle-partition-connector：支持Oracle分区特性的连接器，专门对Oracle分区表的导入导出进行优化。
![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 使用FTP数据源连接器时不加密数据，可能存在安全风险，建议使用SFTP数据源连接器。
- 建议将SFTP服务器、FTP服务器和数据库服务器与Loader部署在独立的子网中，以保障数据安全地导入。
- 与关系数据库连接时，可以选择通用数据库连接器（generic-jdbc-connector）或者专用数据库连接器（oracle-connector、oracle-partition-connector、mysql-fastpath-connector），专用数据库连接器特别针对具体数据库类型进行优化，相对通用数据库连接器来说，导出、导入速度更快。
- 使用mysql-fastpath-connector时，要求在NodeManager节点上有MySQL的**mysqldump** 和**mysqlimport** 命令，并且此两个命令所属MySQL客户端版本与MySQL服务器版本兼容，如果没有这两个命令或版本不兼容，请参考<https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html>，安装MySQL client applications and tools。
- 使用oracle-connector时，要求给连接用户赋予如下系统表或者视图的select权限： dba_tab_partitions、dba_constraints、dba_tables 、dba_segments 、v$version、dba_objects、v$instance、SYS_CONTEXT函数、dba_extents、 dba_tab_subpartitions。
  
- 使用oracle-partition-connector时，要求给连接用户赋予如下系统表的select权限：dba_objects、dba_extents。
 
#### 导入流程
用户通过Loader界面进行数据导入作业，导入流程如[图1]所示。
图1导入流程示意   
![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0268127599.png)
用户也可以通过shell脚本来更新与运行Loader作业，该方式需要对已安装的Loader客户端进行配置。
