计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
本文导读

使用Loader导出数据

更新时间:2024-11-29 GMT+08:00

操作场景

该任务指导用户完成将数据从MRS导出到外部的数据源的工作。

一般情况下,用户可以手工在Loader界面管理数据导入导出作业。当用户需要通过shell脚本来更新与运行Loader作业时,必须对已安装的Loader客户端进行配置。

前提条件

  • 创建或获取该任务中创建Loader作业的业务用户和密码。
  • 确保用户已授权访问作业执行时操作的目录、HBase表和数据。
  • 获取外部数据源(SFTP服务器或关系型数据库)使用的用户和密码。
  • 检查磁盘空间,确保没有出现告警且余量满足导入、导出数据的大小。
  • 使用Loader从HDFS/OBS导出数据时,确保HDFS/OBS数据源的输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\"':;,中的任意字符。
  • 如果设置的任务需要使用指定Yarn队列功能,该用户需要已授权有相关Yarn队列的权限。
  • 设置任务的用户需要获取该任务的执行权限,并获取该任务对应的连接的使用权限。

操作步骤

  1. 是否第一次从Loader导出数据到关系型数据库?

    • 是,执行2
    • 否,执行3

  2. 修改关系型数据库对应的驱动jar包文件权限。

    1. 获取关系型数据库对应的驱动jar包保存在Loader服务主备节点的lib路径:“${BIGDATA_HOME}/FusionInsight_Porter_*install/FusionInsight-Sqoop-1.99.3/FusionInsight-Sqoop-1.99.3/server/webapps/loader/WEB-INF/ext-lib”。
    2. 使用root用户在主备节点分别执行以下命令修改权限:

      cd ${BIGDATA_HOME}/FusionInsight_Porter_*/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系统。
    2. 选择“集群 > 服务 > Loader”。
    3. 单击“LoaderServer(节点名称,主)”打开“Loader WebUI”界面。
      图1 Loader WebUI界面

  4. 创建Loader数据导出作业,单击“新建作业”,在“1.基本信息”选择所需要的作业类型,然后单击“下一步”。

    1. “名称”输入作业的名称,“类型”选择“导出”即导出。
    2. “连接”选择一个连接。默认没有已创建的连接,单击“添加”创建一个新的连接,完成后单击“测试”,测试是否可用,待提示成功后单击“确定”。
      表1 连接配置参数一览表

      连接器类型

      参数名

      说明

      generic-jdbc-connector

      JDBC驱动程序类

      JDBC驱动类名。

      JDBC连接字符串

      JDBC连接字符串。

      用户名

      连接数据库使用的用户名。

      密码

      连接数据库使用的密码。

      JDBC连接属性

      JDBC连接属性,单击“添加”手动添加。

      • 名称:连接属性名
      • 值:连接属性值

      hdfs-connector

      -

      -

      oracle-connector

      JDBC连接字符串

      用户连接数据库的连接字符串。

      用户名

      连接数据库使用的用户名。

      密码

      连接数据库使用的密码。

      连接属性

      连接属性,单击“添加”手动添加。

      • 名称:连接属性名
      • 值:连接属性值

      mysql-fastpath-connector

      JDBC连接字符串

      JDBC连接字符串。

      用户名

      连接数据库使用的用户名。

      密码

      连接数据库使用的密码。

      连接属性

      连接属性,单击“添加”手动添加。

      • 名称:连接属性名
      • 值:连接属性值

      sftp-connector

      Sftp服务器的IP

      SFTP服务器的IP地址。

      Sftp服务器端口

      SFTP服务器的端口号。

      Sftp用户名

      访问SFTP服务器的用户名。

      Sftp密码

      访问SFTP服务器的密码。

      Sftp公钥

      Sftp服务器公钥。

      oracle-partition-connector

      JDBC驱动程序类

      JDBC驱动类名。

      JDBC连接字符串

      JDBC连接字符串。

      用户名

      连接数据库使用的用户名。

      密码

      连接数据库使用的密码。

      连接属性

      连接属性,单击“添加”手动添加。

      • 名称:连接属性名
      • 值:连接属性值
    3. “组”设置“作业”所属组,默认没有已创建的组,单击“添加”创建一个新的组,单击“确定”保存。
    4. “队列”设置Loader的任务在指定的Yarn队列中执行。默认值“root.default”表示任务在“default”队列中执行。
    5. “优先级”设置Loader的任务在指定的Yarn队列中的优先级。可选值为“VERY_LOW”、“LOW”、“NORMAL”、“HIGH”和“VERY_HIGH”。默认值为“NORMAL”。

  5. 在“2.输入设置”,设置数据来源,然后单击“下一步”。

    说明:

    创建或者编辑Loader作业时,在配置SFTP路径、HDFS/OBS路径、SQL的Where条件等参数时,可以使用宏定义,具体请参考配置项中使用宏定义章节。

    表2 输入配置参数一览表

    源文件类型

    参数名

    解释说明

    HDFS/OBS

    输入目录

    从HDFS/OBS导出时的输入路径。

    路径过滤器

    配置通配符对源文件的输入路径包含的目录进行过滤。输入路径“输入目录”不参与过滤。配置多个过滤条件时使用逗号隔开,配置为空时表示不过滤目录。不支持正则表达式过滤。

    文件过滤器

    配置通配符对源文件的输入文件名进行过滤。配置多个过滤条件时使用逗号隔开。不能配置为空。不支持正则表达式过滤。

    文件类型

    文件导入类型:

    • TEXT_FILE:导入文本文件并保存为文本文件。
    • SEQUENCE_FILE:导入文本文件并保存在sequence file文件格式。
    • BINARY_FILE:以二进制流的方式导入文件,可以导入任何格式的文件。

    文件分割方式

    选择按FILE文件或SIZE大小分割源文件成多份,作为数据导出的MapReduce任务中各个map的输入文件。

    Map数

    配置数据操作的MapReduce任务中同时启动的map数量。不可与“Map数据块大小”同时配置。参数值必须小于或等于“3000”。

    Map数据块大小

    配置数据操作的MapReduce任务中启动map所处理的数据大小,单位为MB。参数值必须大于或等于“100”,建议配置值为“1000”。不可与“Map数”同时配置。当使用关系型数据库连接器时,不支持“Map数据块大小”,请配置“Map数”。

    HBASE

    HBase实例

    在HBase作业中,Loader支持从集群可添加的所有HBase服务实例中选择任意一个。如果选定的HBase服务实例在集群中未添加,则此作业无法正常运行。

    个数

    配置数据操作的MapReduce任务中同时启动的map数量。参数值必须小于或等于“3000”。

    HIVE

    Hive实例

    在Hive作业中,Loader支持从集群可添加的所有Hive服务实例中选择任意一个。如果选定的Hive服务实例在集群中未添加,则此作业无法正常运行。

    个数

    配置数据操作的MapReduce任务中同时启动的map数量。参数值必须小于或等于“3000”。

    SPARK

    Spark实例

    仅支持SparkSQL存取Hive数据。在SparkSQL作业中,Loader支持从集群可添加的所有Spark服务实例中选择任意一个。如果选定的Spark服务实例在集群中未添加,则此作业无法正常运行。

    个数

    配置数据操作的MapReduce任务中同时启动的map数量。参数值必须小于或等于“3000”。

  6. 在“3.转换”设置数据传输过程中的转换操作。

    确认Loader创建的数据操作作业中,源数据的值是否满足直接使用需求而不进行转换,例如大小写转换、截取、拼接和分隔。

    • 满足需求,请单击“下一步”。
    • 不满足需求,请执行6.a6.d
    1. 默认没有已创建的转换步骤,可拖动左侧样例到编辑框,添加一个新的转换步骤。
    2. 完整的转换流程包含以下类型,每个类型请根据业务需要进行选择。
      1. 输入类型,第一个转换步骤,仅添加一种,任务涉及HBase或关系型数据库必须添加。
      2. 转换类型,中间转换步骤,可添加一种以上或不添加。
      3. 输出类型,最后一个转换步骤,仅添加一种,任务涉及HBase或关系型数据库必须添加。
        表3 样例一览表

        类型

        描述

        输入类型

        • CSV文件输入:CSV文件输入步骤,配置分隔符以转换生成多个字段。
        • 固定宽度文件输入:文本文件输入步骤,配置截取字符或字节的长度以转换生成多个字段。
        • 表输入:关系型数据输入步骤,配置数据库的指定列为输入的字段。
        • HBase输入:HBase表输入步骤,配置HBase表的列定义到指定字段。
        • HTML输入:HTML网页数据输入步骤,配置获取HTML网页文件目标数据到指定字段。
        • Hive输入:Hive表输入步骤,配置Hive表的列定义到指定字段。
        • Spark输入:SparkSQL表输入步骤,配置SparkSQL表的列定义到指定字段。仅支持存取Hive数据。

        转换类型

        • 长整型时间转换:长整型日期转换步骤,配置长整型数值与日期的转换。
        • 空值转换:空值转换步骤,配置指定值替换空值。
        • 随机值转换:随机数据生成步骤,配置新增值为随机数据的字段。
        • 增加常量字段:增加常量步骤,配置直接生成常量字段。
        • 拼接转换:拼接字段步骤,配置已生成的字段通过连接符连接,转换出新的字段。
        • 分隔转换:分隔字段步骤,配置已生成的字段通过分隔符分隔,转换出新的字段。
        • 取模转换:取模运算步骤,配置已生成的字段通过取模,转换出新的字段。
        • 剪切字符串:字符串截取步骤,配置已生成的字段通过指定位置截取,转换出新的字段。
        • EL操作转换:计算器,可以对字段值进行运算,目前支持的算子有:md5sum、sha1sum、sha256sum和sha512sum等。
        • 字符串大小写转换:字符串转换步骤,配置已生成的字段通过大小写变换,转换出新的字段。
        • 字符串逆序转换:字符串逆序步骤,配置已生成的字段通过逆序,转换出新的字段。
        • 字符串空格清除转换:字符串空格清除步骤,配置已生成的字段通过清除空格,转换出新的字段。
        • 过滤行转换:过滤行步骤,配置逻辑条件过滤掉含触发条件的行。
        • 更新域:更新域步骤,配置当满足某些条件时,更新指定字段的值。

        输出类型

        • 文件输出:文本文件输出步骤,配置已生成的字段通过分隔符连接并输出到文件。
        • 表输出:关系型数据库输出步骤,配置输出的字段对应到数据库的指定列。
        • HBase输出:HBase表输出步骤,配置已生成的字段输出到HBase表的列。
        • Hive输出:Hive表输出步骤,配置已生成的字段输出到Hive表的列。
        • Spark输出:SparkSQL表输出步骤,配置已生成的字段输出到SparkSQL表的列。仅支持存取Hive数据。

        编辑栏包括以下几种任务:

        • 重命令:重命名样例。
        • 编辑:编辑步骤转换,参考6.c
        • 删除:删除样例。
          说明:

          也可使用快捷键“Del”删除。

    3. 单击“编辑”,编辑步骤转换信息,配置字段与数据。

      步骤转换信息中的具体参数设置请参考算子帮助

      转换步骤配置不正确时,传输的数据将无法转换并成为脏数据,脏数据标记规则如下:

      • 任意输入类型步骤中,原数据包含字段的个数小于配置字段的个数,或者原数据字段值与配置字段的类型不匹配时,全部数据成为脏数据。
      • “CSV文件输入”步骤中,“验证输入字段”检验输入字段与值的类型匹配情况,检查不匹配时跳过该行,当前行成为脏数据。
      • “固定宽度文件输入”步骤中,“固定长度”指定字段分割长度,长度大于原字段值的长度则数据分割失败,当前行成为脏数据。
      • “HBase输入”步骤中,“HBase表名”指定HBase表名不正确,或者“主键”没有配置主键列,全部数据成为脏数据。
      • 任意转换类型步骤中,转换失败的行成为脏数据。例如“分隔转换”步骤中,生成的字段个数小于配置字段的个数,或者原数据不能转换为String类型,当前行成为脏数据。
      • “过滤行转换”步骤中,被筛选条件过滤的行成为脏数据。
      • “取模转换”步骤中,原字段值为“NULL”,当前行成为脏数据。
    4. 单击“下一步”。

  7. 在“4.输出设置”,设置数据保存目标位置,然后单击“保存”保存作业或“保存并运行”,保存作业并运行作业。

    表4 输出配置参数一览表

    连接类型

    参数名

    解释说明

    sftp-connector

    输出路径

    SFTP服务器中导出文件的路径或者文件名,如果连接器配置多个地址此处可对应使用分号分隔多个路径或者文件名,数量需要与连接器中服务器的数量一致。

    文件操作方式

    数据导入时的操作行为。全部数据从输入路径导入到目标路径时,先保存在临时目录,然后再从临时目录复制转移至目标路径,任务完成时删除临时路径的文件。转移临时文件存在同名文件时有以下行为:

    • “OVERRIDE”:直接覆盖旧文件。
    • “RENAME”:重命名新文件。无扩展名的文件直接增加字符串后缀,有扩展名的文件在文件名增加字符串后缀。字符串具有唯一性。
    • “APPEND”:在旧文件尾部合并新文件内容。合并操作只是简单的追加,不保证追加文件是否可以使用。例如文本文件可合并,压缩文件合并后可能无法使用。
    • “IGNORE”:保留旧文件,不复制新文件。
    • “ERROR”:转移过程中出现同名文件时任务将停止执行并报错,已转移的文件导入成功,同名的文件及未转移的文档导入失败。

    编码类型

    导出文件的编码格式,如UTF-8。导出文本文件时才能配置。

    压缩

    使用SFTP协议导数据时,是否开启压缩传输功能以减小带宽使用。“true”为开启压缩,“false”为关闭压缩。

    hdfs-connector

    输出路径

    导出文件在HDFS/OBS的输出目录或者文件名。

    文件格式

    文件导出类型:

    • “TEXT_FILE”:导入文本文件并保存为文本文件。
    • “SEQUENCE_FILE”:导入文本文件并保存在sequence file文件格式。
    • “BINARY_FILE”:以二进制流的方式导入文件,可以导入任何格式的文件。

    压缩格式

    在下拉菜单中选择数据导出到HDFS/OBS后保存文件的压缩格式,未配置或选择NONE表示不压缩数据。

    自定义压缩格式

    自定义压缩格式类型的名称。

    generic-jdbc-connector

    架构名称

    数据库模式名。

    表名

    数据库表名,用于最终保存传输的数据。

    临时表

    数据库临时表的表名,用于临时保存传输过程中的数据,字段需要和“表名”配置的表一致。

    oracle-partition-connector

    架构名称

    数据库模式名。

    表名

    数据库表名,用于最终保存传输的数据。

    临时表

    数据库临时表的表名,用于临时保存传输过程中的数据,字段需要和“表名”配置的表一致。

    oracle-connector

    表名

    目标表,用于存储数据。

    列名

    指定要写入的列名,没有指定的列允许被设置为空值或者默认值。

    mysql-fastpath-connector

    架构名称

    数据库模式名。

    表名

    数据库表名,用于最终保存传输的数据。

    临时表名

    临时表名称,用于预存数据,作业执行成功后,再将数据转移到正式表。

  8. 已创建的作业可以在“Loader WebUI”界面上进行浏览,可进行启动、停止、复制、删除、编辑和查看历史信息操作。

    图2 查看Loader作业

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容