开发一个DLI Spark作业
在本章节您可以学习到数据开发模块资源管理、作业编辑等功能。
场景说明
用户在使用DLI服务时,大部分时间会使用SQL对数据进行分析处理,有时候处理的逻辑特别复杂,无法通过SQL处理,那么可以通过Spark作业进行分析处理。本章节通过一个例子演示如何在数据开发模块中提交一个Spark作业。
操作流程如下:
- 创建DLI集群,通过DLI集群的物理资源来运行Spark作业。
- 获取Spark作业的演示JAR包,并在数据开发模块中关联到此JAR包。
- 创建数据开发模块作业,通过DLI Spark节点提交Spark作业。
环境准备
- 已开通对象存储服务OBS,并创建桶,例如“obs://dlfexample”,用于存放Spark作业的JAR包。
- 已开通数据湖探索服务DLI,并创建Spark集群“spark_cluster”,为Spark作业提供运行所需的物理资源。
获取Spark作业代码
本示例使用的Spark作业代码来自maven库(下载地址:https://repo.maven.apache.org/maven2/org/apache/spark/spark-examples_2.10/1.1.1/spark-examples_2.10-1.1.1.jar),此Spark作业是计算π的近似值。
- 获取Spark作业代码JAR包后,将JAR包上传到OBS桶中,存储路径为“obs://dlfexample/spark-examples_2.10-1.1.1.jar”。
- 在DataArts Studio控制台首页,选择对应工作空间的“数据开发”模块,进入数据开发页面。
- 在数据开发主界面的左侧导航栏,选择数据开发模块中创建一个资源关联到1的JAR包,资源名称为“spark-example”。
。单击“新建资源”,在图1 创建资源
提交Spark作业
用户需要在数据开发模块中创建一个作业,通过作业的DLI Spark节点提交Spark作业。
- 创建一个数据开发模块空作业,作业名称为“job_DLI_Spark”。
图2 创建作业
- 然后进入作业开发页面,拖动DLI Spark节点到画布并单击,配置节点的属性。
图3 配置节点属性
关键属性说明:
- DLI队列:DLI中创建的DLI队列。
- 作业运行资源:DLI Spark节点运行时,限制最大可以使用的CPU、内存资源。
- 作业主类:DLI Spark节点的主类,本例的主类是“org.apache.spark.examples.SparkPi”。
- Spark程序资源包:3中创建的资源。
- 作业编排完成后,单击,测试运行作业。
图4 作业日志(仅参考)
- 如果日志运行正常,保存作业并提交版本。