全部产品
Search
文档中心

大数据开发治理平台 DataWorks:创建CDH Spark节点

更新时间:Mar 05, 2024

Spark是一个通用的大数据分析引擎,具有高性能、易用和普遍性等特点,可用于进行复杂的内存分析,构建大型、低延迟的数据分析应用。DataWorks为您提供CDH Spark节点,便于您在DataWorks上进行Spark任务的开发和周期性调度。本文为您介绍如何创建及使用CDH Spark节点。

前提条件

  • 数据开发(DataStudio)中已创建业务流程。

    数据开发(DataStudio)基于业务流程对不同开发引擎进行具体开发操作,所以您创建节点前需要先新建业务流程,操作详情请参见创建业务流程

  • 已创建阿里云CDH集群,并注册CDH集群至DataWorks。

    创建CDH相关节点并开发CDH任务前,您需要先将CDH集群注册至DataWorks工作空间,操作详情请参见注册CDH集群至DataWorks

  • (可选,RAM账号需要)进行任务开发的RAM账号已被添加至对应工作空间中,并具有开发空间管理员(权限较大,谨慎添加)角色权限,添加成员的操作详情请参见为工作空间添加空间成员

  • 已购买独享调度资源组并完成资源组配置,包括绑定工作空间、网络配置等,详情请参见新增和使用独享调度资源组

使用限制

不支持公共调度资源组运行该类型任务。

准备工作:开发Spark任务并获取JAR包

在使用DataWorks调度CDH Spark任务前,您需要先在CDH中开发Spark任务代码并完成任务代码的编译,生成编译后的任务JAR包,CDH Spark任务的开发指导详情请参见Spark概述

说明

后续您需要将任务JAR包上传至DataWorks,在DataWorks中周期性调度CDH Spark任务。

步骤一:创建CDH Spark节点

  1. 进入数据开发页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据建模与开发 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

  2. 右键单击某个业务流程,选择新建节点 > CDH > CDH Spark

  3. 新建节点对话窗中,配置节点的引擎实例、路径、名称等信息。

  4. 单击确认 ,完成节点创建,后续您可在创建的节点中进行对应任务的开发与配置操作。

步骤二:创建并引用CDH JAR资源

您可以在创建的CDH Spark节点中引用JAR包资源,并编写CDH Spark节点代码,通过Spark Submit命令提交任务。具体操作如下:

  1. 创建CDH JAR资源。

    在对应业务流程中,右键单击CDH > 资源,选择新建资源 > CDH JAR,在新建资源对话框中点击上传,选择需要上传的文件。

    image.png

  2. 引用CDH JAR资源。

    1. 打开创建的CDH节点,停留在编辑页面。

    2. CDH > 资源 中,找到待引用的资源(示例为spark-examples_2.11_2.4.0.jar),右键单击资源名称,选择引用资源

      image.png

      引用资源后,若CDH节点的代码编辑页面出现##@resource_reference{""}格式的语句,表明已成功引用代码资源。示例如下:

      ##@resource_reference{"spark_examples_2.11_2.4.0.jar"}
      spark_examples_2.11_2.4.0.jar
    3. 修改CDH Spark节点代码,补充Spark Submit命令,修改后的示例如下。

      重要

      CDH Spark节点编辑代码时不支持注释语句,请务必参考如下示例改写任务代码,不要随意添加注释,否则后续运行节点时会报错。

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-submit --class org.apache.spark.examples.SparkPi --master yarn  spark-examples_2.11-2.4.0.jar 100

      其中:

      • org.apache.spark.examples.SparkPi:为您实际编译的JAR包中的任务主Class。

      • spark-examples_2.11-2.4.0.jar:为您实际上传的CDH JAR资源名称。

步骤三:配置任务调度

如果您需要周期性执行创建的节点任务,可以单击节点编辑页面右侧的调度配置,根据业务需求配置该节点任务的调度信息:

步骤四:调试代码任务

  1. (可选)选择运行资源组、赋值自定义参数取值。

  2. 保存并运行SQL语句。

    在工具栏,单击保存图标,保存编写的SQL语句,单击运行图标,运行创建的SQL任务。

  3. (可选)冒烟测试。

    如果您希望在开发环境进行冒烟测试,可在执行节点提交,或节点提交后执行,冒烟测试,操作详情请参见执行冒烟测试

续步骤

  1. 提交并发布节点任务。

    1. 单击工具栏中的保存图标,保存节点。

    2. 单击工具栏中的提交图标,提交节点任务。

    3. 提交新版本对话框中,输入变更描述

    4. 单击确定

    如果您使用的是标准模式的工作空间,任务提交成功后,需要将任务发布至生产环境进行发布。请单击顶部菜单栏左侧的任务发布。具体操作请参见发布任务

  2. 查看周期调度任务。

    1. 单击编辑界面右上角的运维,进入生产环境运维中心。

    2. 查看运行的周期调度任务,详情请参见查看并管理周期任务

    如果您需要查看更多周期调度任务详情,可单击顶部菜单栏的运维中心,详情请参见运维中心概述

相关场景

DataWorks平台提供了完善的作业调度和监控功能,确保您的Spark作业能够顺利提交到CDH集群执行。这种方式不仅简化了作业的运维流程,还使得资源管理更为高效,以下是一些Spark任务的应用场景:

  • 数据分析:利用Spark SQL、Dataset以及DataFrame API进行复杂的数据聚合、筛选和转换,快速洞察数据。

  • 流处理:利用Spark Streaming处理实时数据流,并进行即时分析和决策。

  • 机器学习任务:使用Spark MLlib进行数据预处理、特征提取、模型训练和评估。

  • 大规模ETL任务:进行大数据集的抽取、转换和加载,为数据仓库或其他存储系统准备数据。