文档

混合云异构计算框架统一任务编排

更新时间:
一键部署

本文主要介绍大数据计算MaxCompute对多个异构计算框架,包括MapReduce、SQL、Spark等计算任务进行统一编排、统一运行,各计算任务开发完成后,通过简单拖拽即可完成任务编排,为业务设计开发及上线运行提供便利。

背景信息

本实践适用于大数据计算MaxCompute、DataWorks基于企业版V3.14及以上版本。

客户使用MapReduce、SQL、Spark等异构计算框架进行大数据开发,基于阿里混合云大数据计算MaxCompute将不同任务进行统一编排,实现复杂业务的数据分析计算。

本实践涉及的主要组件介绍:

  • 一站式开发平台DataWorks:为您提供数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务。一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。DataWorks支持离线同步、Shell、ODPSSQL、ODPS MR等多种节点类型,通过节点之间的相互依赖,对复杂的数据进行分析处理。DataWorks提供可视化的代码开发、工作流设计器页面,无需搭配任何开发工具,通过简单拖拽和开发,即可完成复杂的数据分析任务。

  • 大数据计算MaxCompute:是面向大数据处理的分布式系统,主要提供结构化数据的存储和计算,服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。大数据计算MaxCompute为用户提供一种便捷的分析处理海量数据的手段。用户可以不必关心分布式计算细节,从而达到分析大数据的目的。

操作步骤

  1. 大数据平台准备。

    1. 创建大数据MaxCompute计算项目。

      1. 登录Apsara Uni-manager运营控制台,在顶部菜单栏,选择产品 > 大数据 > 大数据计算MaxCompute1

      2. 创建计算资源配额组。

        在左侧导航栏,选择配额组管理,单击创建,输入配额组信息。1

      3. 创建任务云账号。

        在左侧导航栏,选择任务云账号,单击新建云账号,输入云账号信息,完成后单击确认1

      4. 创建MaxCompute集群项目,选择刚创建的配额组和任务云账号。1

    2. 创建DataWorks工作空间。

      1. 登录Apsara Uni-manager运营控制台,在顶部菜单栏,选择产品 > 大数据 > Dataworks

      2. 在左侧导航栏,选择全部产品 > 其他 > 组织管理1

      3. 在左侧导航栏,选择项目列表,单击创建作业空间1

      4. 输入工作空间信息,关联MaxCompute项目,完成后单击确定1

    3. 创建工作空间业务流程。

      1. 在左侧导航栏,选择项目列表,单击进入工作区1

      2. 新建业务流程。

        单击新建业务流程,输入业务名称及描述信息,完成后单击新建11

  2. 创建不同计算框架任务。

    1. 创建MapReduce任务。

      1. 在左侧导航栏,选择资源 > 新建 > MaxCompute > JAR1

      2. 上传任务所需JAR包。1

      3. 上传JAR包后选择提交生效。1

      4. JAR包提交生效后,新建MapReduce任务并保存。1

      5. 执行如下SQL,为WordCount任务,输入表为jingyan_wc_in,输出表为jingyan_wc_out。

        --创建输入表
        CREATE TABLE if not exists jingyan_wc_in (key STRING, value STRING);
        --创建输出表。
        CREATE TABLE if not exists jingyan_wc_out (key STRING, cnt BIGINT);
            ---创建系统dual。
            drop table if exists dual;
            create table dual(id bigint); --如果工作空间不存在该伪表,则需要创建并初始化数据。
            ---向系统伪表初始化数据。
            insert overwrite table dual select count(*)from dual;
            ---向输入表wc_in插入示例数据。
            insert overwrite table jingyan_wc_in select * from (
            select 'project','val_pro' from dual 
            union all 
            select 'problem','val_pro' from dual
            union all 
            select 'package','val_a' from dual
            union all 
            select 'pad','val_a' from dual
              ) b;
        -- 引用刚刚上传的JAR包资源,可以在资源管理栏中找到该资源,右键引用资源。
        --@resource_reference{"mapreduce_examples.jar"}
        jar -resources mapreduce_examples.jar -classpath ./mapreduce_examples.jar com.aliyun.odps.mapred.open.example.WordCount jingyan_wc_in jingyan_wc_out
    2. 创建SQL任务。

      1. 创建SQL任务。

        在左侧导航栏,选择数据开发 > 新建 > MaxCompute > ODPS SQL,执行如下SQL。

        DROP TABLE IF EXISTS test;
        CREATE TABLE IF NOT EXISTS test
        ( id BIGINT COMMENT '' ,
          name STRING COMMENT '' ,
          age BIGINT COMMENT '' ,
          sex STRING COMMENT '');
        INSERT INTO test VALUES (1,'张三',43,'男') ;
        SELECT * from test;
    3. 创建Spark任务。

      1. 在左侧导航栏,选择资源 > 新建 > MaxCompute > JAR,上传任务所需JAR包。1

      2. 上传JAR包后选择提交生效。1

      3. JAR包提交生效后,新建Spark任务并保存。1

      4. 选择上传的JAR包,配置Main Class:com.aliyun.odps.spark.examples.WordCount后保存,Spark会运行WordCount任务。1

  3. 进行异构计算框架统一任务编排。

    1. 进行业务编排。

      1. 在左侧导航栏,选择数据开发 > 新建 > 虚拟节点1

      2. 创建虚拟节点start和end,内容为空。11

      3. 通过图形化拖拽方式进行任务编排。

        将MapReduce、SQL、Spark任务编排成一个任务流,将上游和下游节点通过带线箭头进行串联。1

      4. 运行编排的任务,并查看运行结果。1

    2. 查看运行结果和运行日志。

      1. 查看MapReduce任务节点运行结果及日志。1

        • 查看MapReduce任务日志。1

        • 查看MapReduce任务输入和输出表。11

        • 查看MapReduce任务logview日志。1

      2. 查看SQL任务日志和结果。1

      3. 查看Spark任务日志和结果。1

        • 查看logview结果。1

        • 查看WordCount任务输出结果。1

  • 本页导读
文档反馈