更新时间:2025-07-29 GMT+08:00
分享

通过DataArts Studio提交MRS Hive作业

HiveSql作业是基于Hive数据仓库工具编写和运行的数据分析任务,主要用于在Hadoop分布式集群上处理大规模结构化或半结构化数据。HiveSQL是Hive定义的SQL方言,语法与标准SQL类似,但针对大数据场景做了优化,可将SQL语句转换为MapReduce或Spark任务执行,适合非编程人员快速实现数据查询、统计和分析。

DataArts Studio作为一款强大的一站式数据处理平台,为用户提供了便捷、高效的Hive作业提交能力,让数据处理变得轻松简单。

通过DataArts Studio提交MRS Hive作业流程如图1所示。

图1 MRS作业提交流程
表1 通过DataArts Studio提交MRS作业流程说明

阶段

说明

准备MRS集群

DataArts Studio支持对接MRS Hive、HDFS、HBase、Spark、ClickHouse等大数据组件,可基于业务需求按需选择并创建包含有对应组件的MRS集群。

初始配置DataArts Studio

DataArts Studio实例的虚拟私有云、子网、安全组信息,需与MRS集群保持一致。

MRS为非全托管服务,DataArts Studio无法直接与其进行连接。数据集成集群(CDM集群)提供了DataArts Studio与非全托管服务通信的代理,所以需提前准备一个CDM集群。

创建数据连接

DataArts Studio基于管理中心的数据连接对数据湖底座进行数据开发、治理、服务和运营。建立数据连接用于作业运行时,DataArts Studio访问MRS集群内对应组件。

开发脚本或应用程序

数据开发是一个一站式的大数据协同开发平台,提供全托管的大数据调度能力。

用户基于业务需求开发相关的SQL脚本作业或者Jar作业。

编排调度作业

DataArts Studio平台支持将多个脚本编排成一个作业,通过可视化方式构建工作流并定义节点依赖关系,实现数据采集、处理、分析等多个业务场景的串联运行。同时还能为作业配置自动化调度计划,支持灵活周期定时执行,搭配失败重试、告警通知等容错策略,让业务流程无需人工干预即可周期性自动运转,同步通过监控面板实时追踪作业状态,大幅提升数据处理的效率与稳定性。

运行作业并查看结果

用户可以直接通过运行结果查看作业运行情况。

在本章节中以开发一个MRS HiveSQL作业为例进行介绍。

步骤1:准备MRS集群

  1. 进入购买MRS集群页面
  2. 选择“快速购买”,填写软件配置参数。

    以购买一个开启Kerberos认证的包含Hive组件的MRS集群为例,关键参数配置如表2所示。

    更多MRS集群购买参数说明请参考快速购买MRS集群

    表2 创建MRS集群

    参数名称

    描述

    取值样例

    计费模式

    选择待创建的MRS集群的计费模式。

    按需计费

    集群名称

    待创建的MRS集群名称。

    MRS_demo

    集群类型

    待创建的MRS集群类型。

    选择“自定义”

    版本类型

    待创建的MRS集群版本类型。

    LTS版

    集群版本

    待创建的MRS集群版本。

    MRS 3.2.0-LTS.1

    组件选择

    选择待创建的MRS集群配套的组件。

    Hadoop分析集群

    可用区

    选择集群工作区域下关联的可用区。

    可用区1

    虚拟私有云

    选择需要创建集群的VPC,单击“查看虚拟私有云”进入VPC服务查看已创建的VPC名称和ID。如果没有VPC,需要创建一个新的VPC。

    vpc-01

    子网

    选择需要创建集群的子网,可进入VPC服务查看VPC下已创建的子网名称和ID。如果VPC下未创建子网,请单击“创建子网”进行创建。

    subnet-01

    Kerberos认证

    访问MRS集群时是否启用Kerberos认证。

    开启

    密码

    配置Manager管理员admin用户及集群ECS节点root用户的密码。

    Test!@12345。

    企业项目

    选择集群所属的企业项目。

    default

  3. 单击“立即购买”,等待MRS集群创建成功。
  4. 集群状态变为“运行中”后,单击集群名称,进入集群详情页后选择“前往Manager”,然后继续选择一个弹性公网IP后,进入集群Manager登录界面。

    更多MRS集群Manager界面登录方式介绍请参考访问MRS集群Manager

  5. 使用admin用户登录集群Manager界面,密码为步骤 2中设置的密码。
  6. 选择“系统 > 用户”创建一个具有Hive操作权限的业务用户。

    由于当前集群已开启Kerberos认证,需在Manager界面中创建一个具有Hive作业提交权限的业务用户,请参考创建MRS集群用户

    • MRS 3.1.0及之后版本集群,用户至少需具备Manager_viewer的角色权限才能在管理中心创建连接;如果需要对应组件的进行库、表、数据的操作,还需要添加对应组件的用户组权限。
    • MRS 3.1.0版本之前的集群,所创建的用户需要具备Manager_administrator或System_administrator权限,才能在管理中心创建连接。
    • 建议用户名的密码策略设置为永不过期,避免由于密码过期后导致连接失败,引起业务受损,请参考配置MRS集群用户密码策略

    例如创建一个人机用户testuser,关联用户组“supergroup”及角色“System_administrator”。

    图2 添加集群业务用户

  7. 用户创建成功后,选择界面右上角“admin > 注销”,然后使用新创建的用户重新登录Manager,并按照界面提示修改初始密码。

步骤2:初始配置DataArts Studio

  1. 登录DataArts Studio管理控制台,购买一个DataArts Studio实例。

    DataArts Studio实例的虚拟私有云、子网、安全组信息,需与MRS集群保持一致。

    具体操作请参考购买DataArts Studio实例

  2. 进入DataArts Studio实例概览信息页面,选择“空间管理 > 创建工作空间”,创建一个工作空间。

    DataArts Studio实例中系统会默认创建一个默认的工作空间“default”,并赋予用户为管理员角色。您可以使用默认的工作空间,也可以在“空间管理”页签中创建一个新的工作空间。

    具体操作请参考创建简单模式工作空间

  3. (可选)在DataArts Studio实例概览信息页面,选择当前工作空间下的“数据集成”,继续创建一个数据集成集群(CDM集群)。

    非免费版的DataArts Studio实例赠送的数据集成集群,可以作为管理中心数据连接的Agent代理使用,因此如果步骤 1中购买了DataArts Studio非免费版实例,本步骤可忽略。

    新创建的CDM集群须和MRS集群处于相同的区域、可用区,且使用同一个VPC和子网,安全组规则需允许两者网络互通或者使用同一个安全组

    更多关于CDM集群的创建操作请参考购买批量数据迁移增量包

    图3 创建CMD集群

步骤3:创建MRS Hive数据连接

  1. 在DataArts Studio实例概览信息页面,选择当前工作空间下的“管理中心”。
  2. 在数据连接界面中选择“创建数据连接”,创建一个“MapReduce服务 (MRS Hive)”类型的数据连接。

    表3 MRS Hive数据连接

    参数名称

    描述

    取值样例

    数据连接名称

    数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。

    mrs-hive

    适用组件

    选择此连接适用的组件。

    数据开发

    连接方式

    • 通过代理连接:通过Agent(即CDM集群)进行代理,以集群用户访问MRS集群。代理连接方式支持MRS所有版本的集群。
    • MRS API连接:以MRS API的方式访问MRS集群。

    为保证数据架构、数据质量、数据目录、数据服务等组件能够使用此MRS连接,此处连接方式推荐配置为“通过代理连接”。

    通过代理连接

    手动

    选择连接模式,如果没有访问其他项目或企业项目下MRS集群的需求,使用集群名模式即可。

    • 集群名模式:通过选择已有集群名称进行连接配置,仅可选择本项目内且企业项目相同的MRS集群进行连接。
    • 连接串模式:通过手动输入Manager IP,并打通本连接Agent(即CDM集群)和MRS集群之间的网络,则可以访问其他项目或企业项目的MRS集群。

    集群名模式

    MRS集群名

    选择步骤1:准备MRS集群中创建的MRS集群。

    mrs-demo

    KMS加密密钥

    通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。

    ims/default

    绑定Agent

    选择步骤2:初始配置DataArts Studio中的CDM集群。

    cdm-a123

    用户名

    MRS集群的业务用户,选择步骤1:准备MRS集群中创建的MRS集群业务用户。

    testuser

    密码

    MRS集群业务用户的密码。

    -

    开启ldap

    当MRS Hive对接了外部LDAP时,连接Hive时需要使用LDAP账号与密码进行认证,此时须开启此参数,否则会连接失败。

    更多关于DataArts Studio数据连接的配置说明及约束信息,请参考创建DataArts Studio数据连接

  3. 参数配置完成后,单击“保存 ”,系统会自动检查数据连接的连通性。

步骤4:开发Hive SQL脚本

  1. 在DataArts Studio实例概览信息页面,选择当前工作空间下的“数据开发”。
  2. 在“脚本开发”页面中的“脚本”目录上右键,选择“新建Hive SQL脚本”。

    图4 新建HiveSQL脚本

  3. 在编辑器中输入SQL语句,通过SQL语句来实现业务需求。

    例如开发一个脚本如下:

    在Hive中新创建一个数据库及数据表。

    -- 创建数据库
    CREATE DATABASE IF NOT EXISTS test_db;
    -- 使用数据库
    USE test_db;
    -- 创建数据表
    CREATE TABLE IF NOT EXISTS test_table (
        id INT,
        name STRING,
        age INT,
        gender STRING
    )
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ',';

    脚本开发完成后,设置开发区右上角的运行配置参数后,单击画布上方的“运行”可查看脚本执行情况与执行结果。

    • 数据连接:选择步骤3:创建MRS Hive数据连接中创建的MRS Hive连接。
    • 数据库:选择Hive中的数据库。
    • 资源队列:运行Hive作业任务时使用的资源队列信息,若不设置默认使用集群的default队列。

  4. 脚本开发完成后,选择“保存”,保存当前脚本。
  5. 参考步骤 3继续开发其他脚本。

    例如继续开发一个脚本如下:

    在Hive表插入一行数据并查询。

    -- 使用数据库
    USE test_db;
    -- 插入单行数据
    INSERT INTO test_table VALUES (1, 'Zhangsan', 30, 'Male');
    -- 查看数据表内容
    SELECT * FROM test_table;

步骤5:编排调度作业

  1. 在DataArts Studio实例概览信息页面,选择当前工作空间下的“数据开发”。
  2. 在“作业开发”页面中的“作业”目录上右键,选择“新建作业”。
  3. 配置作业参数并选择“确定”,创建一个批处理作业。

    表4 DataArts Studio作业配置参数

    参数名称

    描述

    取值样例

    作业名称

    自定义作业的名称,只能包含英文字母、数字、中文、“-”、“_”、“.”,且长度为1~128个字符。

    job_test

    作业类型

    • 批处理作业:按调度计划定期处理批量数据,主要用于实时性要求低的场景。批作业是由一个或多个节点组成的流水线,以流水线作为一个整体被调度。被调度触发后,任务执行一段时间必须结束,即任务不能无限时间持续运行。
    • 实时处理作业:处理实时的连续数据,主要用于实时性要求高的场景。实时作业是由一个或多个节点组成的业务关系,每个节点可单独被配置调度策略,而且节点启动的任务可以永不下线。在实时作业里,带箭头的连线仅代表业务上的关系,而非任务执行流程,更不是数据流。

    批处理

    模式

    • Pipeline:即传统的流水线式作业,作业通过画布编辑,可以拖入一个或多个节点组成作业,各节点依次被流水线式地执行。
    • 单任务:单任务作业可以认为是有且只有一个节点的批处理作业,整个作业即为一个脚本节点。

    Pipeline

    选择目录

    选择作业所属的目录,默认为根目录。

    /作业/

    责任人

    填写该作业的责任人。

    -

    作业优先级

    选择作业的优先级,提供高、中、低三个等级。

    作业优先级是作业的一个标签属性,不影响作业的实际调度执行的先后顺序。

    委托配置

    作业执行过程中,以IAM委托的身份与其他服务交互。

    若工作空间已配置过委托,则新建的作业默认使用该工作空间级委托。

    -

    日志路径

    选择作业日志的OBS存储路径。

    obs://test/dataarts-log/

    作业描述

    作业的描述信息。

    -

    更多关于DataArts Studio作业的配置说明及约束信息,请参考新建DataArts Studio作业

  4. 作业创建成功后,进入到作业开发编排页面。

    拖动左侧节点库中所需的节点到画布中,鼠标移动到节点图标上,选中连线图标,然后单击节点配置相关的属性参数。

    例如在本示例中,配置两个MRS Hive SQL节点并连线,执行作业时,系统将依次执行两个指定的SQL脚本。

    图5 编排DataArts Studio作业

    关键属性说明:

    • 节点名称:默认显示为SQL脚本“hive_sql”的名称,支持修改。
    • SQL脚本:选择步骤4:开发Hive SQL脚本中开发完成的Hive SQL脚本。
    • 数据连接:选择步骤3:创建MRS Hive数据连接中创建的MRS Hive连接。
    • 数据库:默认选择SQL脚本中设置的数据库,支持修改。
    • 其他作业参数保持默认,或者根据业务需求进行调整。

    更多关于DataArts Studio作业开发参数配置说明,请参考DataArts Studio作业开发

  5. 作业编排完成后,单击画布上方的“测试运行”,会弹出测试参数配置的弹框,自动显示作业的变量参数,单击“确定”,测试作业。

    如果测试未通过,请您查看作业节点的运行日志,进行定位处理。

    图6 测试DataArts Studio作业运行

    在本示例中,通过日志可查看到成功在表“test_table”中插入了数据。

    ...
    1,Zhangsan,30,Male

  6. 作业运行成功后,单击画布空白处,在右侧的“调度配置”页面,配置作业的调度策略。

    DataArts Studio作业支持多种调度方式,例如可配置当前作业在指定时间段内的每天固定时间自动运行。

    图7 DataArts Studio作业调度配置

    更多关于DataArts Studio作业调度方式和约束限制说明,请参考DataArts Studio调度作业

  7. 配置完成后,单击画布上方的“提交”,提交版本并勾选是否在下个调度周期使用新版本。

    在提交版本时,单击“版本对比”可以查看当前提交版本与最近一个版本之间的差异对比。

    作业提交后,单击“执行调度”,然后在数据开发页面的“运维调度 > 作业监控”页面,即可查看当前作业的调度状态及历史执行结果。

    图8 查看作业状态

相关文档

相关文档