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,后续即可通过DataWorks对CDH上的Spark任务进行周期性调度。
详情请参见资源管理。可将JAR包通过本地上传的方式上传到JAR资源的存放目录下。单击点击上传按钮,上传JAR资源。
选择存储路径、数据源及资源组。
单击保存按钮进行保存。
新建节点
新建入口参考:创建节点。
开发节点
在CDH Spark节点编辑页面,执行如下开发操作。
引用CDH JAR资源
打开创建的CDH Spark节点,停留在代码编辑页面。
在左侧导航栏的资源管理中找到待引用资源,右键选择引用资源。
选择引用后,若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 100org.apache.spark.examples.SparkPi:为您实际编译的JAR包中的任务主Class。spark-examples_2.11-2.4.0.jar:为您实际上传的CDH JAR资源名称。
调试节点
在调试配置的计算资源中,选择配置计算资源和资源组。
计算资源选择您在DataWorks上注册的CDH集群名称。
资源组选择与数据源测试连通性成功的调度资源组。详情请参见网络连通方案。
说明您还可以根据任务执行所需的资源情况来调整计算 CU。默认CU为
0.5。在节点编辑页面上方工具栏,单击运行任务。
图标唤起发布流程,通过该流程将任务发布至生产环境。项目目录下的节点只有在发布至生产环境后,才会进行周期性调度。