CDH Spark节点

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

前提条件

  • 已创建阿里云CDH集群,并绑定至DataWorks工作空间。操作详情请参见新版数据开发:绑定CDH计算资源

    重要

    已在CDH集群安装Spark组件,并在绑定集群时配置Spark相关信息。

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

    说明

    如果您使用的是主账号,则可忽略该添加操作。

  • 已在DataWorks配置Hive数据源并通过连通性测试,详情请参见数据源管理

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

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

创建CDH JAR资源

您可将任务JAR包上传至DataWorks,后续即可通过DataWorksCDH上的Spark任务进行周期性调度。

  1. 详情请参见资源管理。可将JAR包通过本地上传的方式上传到JAR资源的存放目录下。单击点击上传按钮,上传JAR资源。

  2. 选择存储路径数据源资源组

  3. 单击保存按钮进行保存。

新建节点

新建入口参考:创建节点

开发节点

CDH Spark节点编辑页面,执行如下开发操作。

引用CDH JAR资源

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

  2. 在左侧导航栏的资源管理中找到待引用资源,右键选择引用资源

  3. 选择引用后,若CDH Spark节点的代码编辑页面出现##@resource_reference{""}格式的语句,表明已成功引用代码资源。此时,需要执行下述命令。如下命令涉及的资源包、Bucket名称、路径信息等为本文示例的内容,使用时,您需要替换为实际使用信息。

##@resource_reference{"spark_examples_2.11_2.4.0.jar"}
spark_examples_2.11_2.4.0.jar

编辑CDH Spark节点代码

修改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. 调试配置计算资源中,选择配置计算资源资源组

    1. 计算资源选择您在DataWorks上注册的CDH集群名称。

    2. 资源组选择与数据源测试连通性成功的调度资源组。详情请参见网络连通方案

    说明

    您还可以根据任务执行所需的资源情况来调整计算 CU。默认CU0.5

  2. 在节点编辑页面上方工具栏,单击运行任务。

后续步骤

  • 节点调度:若项目目录下的节点需要周期性调度执行,您需要在节点右侧的调度配置中设置调度策略,配置相关的调度属性。

  • 节点发布:若任务需要发布至生产环境执行,请单击界面image图标唤起发布流程,通过该流程将任务发布至生产环境。项目目录下的节点只有在发布至生产环境后,才会进行周期性调度。

  • 任务运维:任务发布后,您可以在运维中心查看周期任务的运行情况。详情请参见运维中心入门