
# 开发一个DLI Spark作业
在本章节您可以学习到数据开发模块资源管理、作业编辑等功能。
#### 场景说明
用户在使用DLI服务时，大部分时间会使用SQL对数据进行分析处理，有时候处理的逻辑特别复杂，无法通过SQL处理，那么可以通过Spark作业进行分析处理。本章节通过一个例子演示如何在数据开发模块中提交一个Spark作业。
操作流程如下：
1. 创建DLI集群，通过DLI集群的物理资源来运行Spark作业。
2. 获取Spark作业的演示JAR包，并在数据开发模块中关联到此JAR包。
3. 创建数据开发模块作业，通过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作业是计算π的近似值。
1. 获取Spark作业代码JAR包后，将JAR包上传到OBS桶中，存储路径为"obs://dlfexample/spark-examples_2.10-1.1.1.jar"。
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据开发"模块，进入数据开发页面。
3. 在数据开发主界面的左侧导航栏，选择"配置管理 \> 资源管理"。单击"新建资源"，在数据开发模块中创建一个资源关联到[1]的JAR包，资源名称为"spark-example"。
   
   图1创建资源   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001326136045.png "点击放大")
   
   
 
#### 提交Spark作业
用户需要在数据开发模块中创建一个作业，通过作业的DLI Spark节点提交Spark作业。
1. 创建一个数据开发批处理作业，右键单击目录，单击"新建作业"，作业名称为"job_DLI_Spark"。 
   图2创建作业   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002277843748.png "点击放大")
   
   
2. 然后进入作业开发页面，拖动DLI Spark节点到画布并单击，配置节点的属性。 
   图3配置节点属性   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001871106921.png "点击放大")
   关键属性说明：
   - DLI队列：DLI中创建的DLI队列。
   
   - 作业运行资源：DLI Spark节点运行时，限制最大可以使用的CPU、内存资源。
   
   - 作业主类：DLI Spark节点的主类，本例的主类是"org.apache.spark.examples.SparkPi"。
   
   - Spark程序资源包：[3]中创建的资源。
   
   
   
   
3. 作业编排完成后，单击![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0210767992.png)，测试运行作业。
   
   图4作业日志（仅参考）   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001327059485.png)
   
   
4. 如果日志运行正常，保存作业并提交版本。
 
