
# Spark应用开发流程介绍
Spark包含Spark Core、Spark SQL和Spark Streaming三个组件，其应用开发流程都是相同的。
开发流程中各阶段的说明如[图1]和[表1]所示。
图1Spark应用程序开发流程   
![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0000001629563825.png)
 表1Spark应用开发的流程说明 
| **阶段**     | **说明**                                                                                                                                                            | **参考文档**                                                                                                                                                                                                          |
|:---|:---|:---|
| 准备开发环境     | Spark的应用程序支持使用Scala、Java、Python三种语言进行开发。推荐使用IDEA工具，请根据指导完成不同语言的开发环境配置。Spark的运行环境即Spark客户端，请根据指导完成客户端的安装和配置。                                                       | [准备Spark本地应用开发环境](https://support.huaweicloud.com/devg3-mrs/mrs_07_410006.html)                                                                                                                                   |
| 准备连接集群配置文件 | 应用程序开发或运行过程中，需通过集群相关配置文件信息连接MRS集群，配置文件通常包括集群组件信息文件以及用于安全认证的用户文件，可从已创建好的MRS集群中获取相关内容。 用于程序调测或运行的节点，需要与MRS集群内节点网络互通，同时配置hosts域名信息。   | [准备Spark连接集群配置文件](https://support.huaweicloud.com/devg3-mrs/mrs_07_410178.html)                                                                                                                                   |
| 准备工程       | Spark提供了不同场景下的样例程序，您可以导入样例工程进行程序学习。或者您可以根据指导，新建一个Spark工程。                                                                                                         | [导入并配置Spark样例工程](https://support.huaweicloud.com/devg3-mrs/mrs_07_410007.html) [新建Spark样例工程（可选）](https://support.huaweicloud.com/devg3-mrs/mrs_07_410008.html) |
| 根据场景开发工程   | 提供了Scala、Java、Python三种不同语言的样例工程，还提供了Streaming、SQL、JDBC客户端程序以及Spark on HBase四种不同场景的样例工程。 帮助用户快速了解Spark各部件的编程接口。 | [开发Spark应用](https://support.huaweicloud.com/devg3-mrs/mrs_07_410011.html)                                                                                                                                         |
| 编译并运行程序    | 指导用户将开发好的程序编译并提交运行。                                                                                                                                               | [在Linux环境中编包并运行Spark程序](https://support.huaweicloud.com/devg3-mrs/mrs_07_410123.html)                                                                                                                             |
   
