混合云异构计算框架统一任务编排
本文主要介绍大数据计算MaxCompute对多个异构计算框架,包括MapReduce、SQL、Spark等计算任务进行统一编排、统一运行,各计算任务开发完成后,通过简单拖拽即可完成任务编排,为业务设计开发及上线运行提供便利。
背景信息
本实践适用于大数据计算MaxCompute、DataWorks基于企业版V3.14及以上版本。
客户使用MapReduce、SQL、Spark等异构计算框架进行大数据开发,基于阿里混合云大数据计算MaxCompute将不同任务进行统一编排,实现复杂业务的数据分析计算。
本实践涉及的主要组件介绍:
一站式开发平台DataWorks:为您提供数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务。一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。DataWorks支持离线同步、Shell、ODPSSQL、ODPS MR等多种节点类型,通过节点之间的相互依赖,对复杂的数据进行分析处理。DataWorks提供可视化的代码开发、工作流设计器页面,无需搭配任何开发工具,通过简单拖拽和开发,即可完成复杂的数据分析任务。
大数据计算MaxCompute:是面向大数据处理的分布式系统,主要提供结构化数据的存储和计算,服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。大数据计算MaxCompute为用户提供一种便捷的分析处理海量数据的手段。用户可以不必关心分布式计算细节,从而达到分析大数据的目的。
操作步骤
大数据平台准备。
创建大数据MaxCompute计算项目。
登录Apsara Uni-manager运营控制台,在顶部菜单栏,选择产品 > 大数据 > 大数据计算MaxCompute。
创建计算资源配额组。
在左侧导航栏,选择配额组管理,单击创建,输入配额组信息。
创建任务云账号。
在左侧导航栏,选择任务云账号,单击新建云账号,输入云账号信息,完成后单击确认。
创建MaxCompute集群项目,选择刚创建的配额组和任务云账号。
创建DataWorks工作空间。
登录Apsara Uni-manager运营控制台,在顶部菜单栏,选择产品 > 大数据 > Dataworks。
在左侧导航栏,选择全部产品 > 其他 > 组织管理。
在左侧导航栏,选择项目列表,单击创建作业空间。
输入工作空间信息,关联MaxCompute项目,完成后单击确定。
创建工作空间业务流程。
在左侧导航栏,选择项目列表,单击进入工作区。
新建业务流程。
单击新建业务流程,输入业务名称及描述信息,完成后单击新建。
创建不同计算框架任务。
创建MapReduce任务。
在左侧导航栏,选择资源 > 新建 > MaxCompute > JAR。
上传任务所需JAR包。
上传JAR包后选择提交生效。
JAR包提交生效后,新建MapReduce任务并保存。
执行如下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
创建SQL任务。
创建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;
创建Spark任务。
在左侧导航栏,选择资源 > 新建 > MaxCompute > JAR,上传任务所需JAR包。
上传JAR包后选择提交生效。
JAR包提交生效后,新建Spark任务并保存。
选择上传的JAR包,配置Main Class:com.aliyun.odps.spark.examples.WordCount后保存,Spark会运行WordCount任务。
进行异构计算框架统一任务编排。
进行业务编排。
在左侧导航栏,选择数据开发 > 新建 > 虚拟节点。
创建虚拟节点start和end,内容为空。
通过图形化拖拽方式进行任务编排。
将MapReduce、SQL、Spark任务编排成一个任务流,将上游和下游节点通过带线箭头进行串联。
运行编排的任务,并查看运行结果。
查看运行结果和运行日志。
查看MapReduce任务节点运行结果及日志。
查看MapReduce任务日志。
查看MapReduce任务输入和输出表。
查看MapReduce任务logview日志。
查看SQL任务日志和结果。
查看Spark任务日志和结果。
查看logview结果。
查看WordCount任务输出结果。
- 本页导读