云服务器内容精选

  • Loader数据导入简介 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分区表的导入导出进行优化。 使用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服务器版本兼容,如果没有这两个命令或版本不兼容,请参考http://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数据导出简介 Loader支持将数据或者文件从MRS系统中导出到关系型数据库或文件系统中,Loader支持如下数据导出方式: 从HDFS/OBS中导出数据到SFTP服务器 从HDFS/OBS中导出数据到关系型数据库 从HBase中导出数据到SFTP服务器 从HBase中导出数据到关系型数据库 从Phoenix表导出数据到SFTP服务器 从Phoenix表导出数据到关系型数据库 从Hive中导出数据到SFTP服务器 从Hive中导出数据到关系数据库 从同一集群内HBase导出数据到HDFS/OBS
  • 操作步骤 MRS 3.x之前版本: 从MySQL官网下载MySQL jdbc驱动程序“mysql-connector-java-5.1.21.jar”,具体MySQL jdbc驱动程序选择参见下表。 表1 版本信息 jdbc驱动程序版本 MySQL版本 Connector/J 5.1 MySQL 4.1、MySQL 5.0、MySQL 5.1、MySQL 6.0 alpha Connector/J 5.0 MySQL 4.1、MySQL 5.0 servers、distributed transaction (XA) Connector/J 3.1 MySQL 4.1、MySQL 5.0 servers、MySQL 5.0 except distributed transaction (XA) Connector/J 3.0 MySQL 3.x、MySQL 4.1 将“mysql-connector-java-5.1.21.jar”上传至MRS master 主备节点loader安装目录。 针对MRS 3.x之前版本,上传至“/opt/Bigdata/MRS_XXX/install/ FusionInsight -Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/jdbc/” 其中“XXX”为MRS版本号,请根据实际情况修改。 修改“mysql-connector-java-5.1.21.jar”包属主为“omm:wheel”。 修改配置文件“jdbc.properties”。 将“MYSQL”的键值修改为上传的jdbc驱动包名“mysql-connector-java-5.1.21.jar”,例如:MYSQL=mysql-connector-java-5.1.21.jar。 重启Loader服务。
  • 创建作业 访问Loader页面,单击“新建作业”。 在“基本信息”填写参数。 在“名称”填写一个作业的名称。 在“源连接”和“目的连接”选择对应的连接。 选择某个类型的连接,表示从指定的源获取数据,并保存到目的位置。 如果没有需要的连接,可单击“添加新连接”。 在“自”填写源连接的作业配置。 具体请参见Loader作业源连接配置说明。 在“至”填写目的连接的作业配置。 具体请参见Loader作业目的连接配置说明。 在“目的连接”是否选择了数据库类型的连接。 数据库类型的连接包含以下几种: generic-jdbc-connector hbase-connector hive-connector “目的连接”选择数据库类型的连接时,还需要配置业务数据与数据库表字段的对应关系: 是,请执行6。 否,请执行7。 在“字段映射”填写字段对应关系。然后执行7。 “字段映射”的对应关系,表示用户数据中每一列与数据库的表字段的匹配关系。 表1 “字段映射”属性 参数 说明 列号 表示业务数据的字段顺序。 样本 表示业务数据的第一行值样例。 列族 “目的连接”为hbase-connector类型时,支持定义保存数据的具体列族。 目的字段 配置保存数据的具体字段。 类型 显示用户选择字段的类型。 行键 “目的连接”为hbase-connector类型时,需要勾选作为行键的“目的字段”。 如果From是sftp/ftp/obs/hdfs等文件类型连接器,Field Mapping 样值取自文件第一行数据,需要保证第一行数据是完整的,Loader作业不会抽取没有Mapping上的列。 在“任务配置”填写作业的运行参数。 表2 Loader作业运行属性 参数 说明 抽取并发数 设置map任务的个数。 加载(写入)并发数 设置reduce任务的个数。 该参数只有在目的字段为Hbase和Hive时才会显示。 单个分片的最大错误记录数 设置一个错误阈值,如果单个map任务的错误记录超过设置阈值则任务自动结束,已经获取的数据不回退。 说明: “generic-jdbc-connector”的“MYSQL”和“MPPDB”默认批量读写数据,每一批次数据最多只记录一次错误记录。 脏数据目录 设置一个脏数据目录,在出现脏数据的场景中在该目录保存脏数据。如果不设置则不保存。 单击“保存”。
  • 操作步骤 将业务数据上传到用户的OBS文件系统。 获取用户的AK/SK信息,然后创建一个OBS连接和一个HDFS连接。 具体可参见Loader连接配置说明。 访问Loader页面。 如果是启用了Kerberos认证的分析集群,可参见访问Hue WebUI界面。 单击“新建作业”。 在“基本信息”填写参数。 在“名称”填写一个作业的名称。例如“obs2hdfs”。 在“源连接”选择已创建的OBS连接。 “目的连接”选择已创建的HDFS连接。 在“自”填写源连接参数。 在“桶名”填写业务数据所保存的OBS文件系统名称。 在“源目录或文件”填写业务数据在文件系统的具体位置。 如果是单个文件,需要填写包含文件名的完整路径。如果是目录,填写目录的完整路径 “文件格式”填写业务数据文件的类型。 可参见obs-connector。 在“至”填写目的连接参数。 在“定入目录”填写业务数据在HDFS要保存的目录名称。 如果是启用Kerberos认证的集群,当前访问Loader的用户对保存数据的目录需要有写入权限。 在“文件格式”填写业务数据文件的类型。 需要与6.c的类型对应。 在“压缩格式”填写一种压缩的算法。例如选择不压缩“NONE”。 在“是否覆盖”选择已有文件的处理方式,选择“True”。 单击“显示高级属性”,在“换行符”填写业务数据保存时,系统填充的换行字符。 在“字段分割符”填写业务数据保存时,系统填充的分割字符。 可参见hdfs-connector。 在“任务配置”填写作业的运行参数。 在“抽取并发数”填写map任务的个数。 在“加载(写入)并发数”填写reduce任务的个数。 目的连接为HDFS连接时,不显示“加载(写入)并发数”参数。 “单个分片的最大错误记录数”填写错误记录阈值。 在“脏数据目录”填写一个脏数据的保存位置,例如“/user/sqoop/obs2hdfs-dd”。 单击“保存并运行”。 在“管理作业界面”,查看作业运行结果。可以单击“刷新列表”获取作业的最新状态。