
# Spark应用开发流程介绍
#### Spark应用程序开发流程
Spark包含Spark Core、Spark SQL和Spark Streaming三个组件，其应用开发流程都是相同的。
开发流程中各阶段的说明如[图1]和[表1]所示。
图1Spark应用程序开发流程   
![](https://support.huaweicloud.com/devg3-mrs/zh-cn_image_0000001620635673.png)
 表1Spark应用开发的流程说明 
| **阶段**     | **说明**                                                                                                                                                                                                                                                                                                 | **参考文档**                                                                                                                                                                                                          |
|:---|:---|:---|
| 准备开发环境     | Spark的应用程序支持使用Scala、Java、Python三种语言进行开发。推荐使用IDEA工具，请根据指导完成不同语言的开发环境配置。Spark的运行环境即Spark客户端，请根据指导完成客户端的安装和配置。                                                                                                                                                                                            | [准备Spark本地应用开发环境](https://support.huaweicloud.com/devg3-mrs/mrs_07_200006.html)                                                                                                                                   |
| 准备连接集群配置文件 | 应用程序开发或运行过程中，需通过集群相关配置文件信息连接MRS集群，配置文件通常包括集群组件信息文件以及用于安全认证的用户文件，可从已创建好的MRS集群中获取相关内容。                                                                                                                                                                                                                   | [准备Spark连接集群配置文件](https://support.huaweicloud.com/devg3-mrs/mrs_07_200190.html)                                                                                                                                   |
| 配置并导入样例工程  | Spark提供了不同场景下的多种样例程序，用户可以可获取样例工程并导入本地开发环境中进行程序学习，或者可以根据指导，新建一个Spark工程。                                                                                                                                                                                                                                 | [导入并配置Spark样例工程](https://support.huaweicloud.com/devg3-mrs/mrs_07_200007.html) [新建Spark样例工程（可选）](https://support.huaweicloud.com/devg3-mrs/mrs_07_200008.html) |
| 配置安全认证     | 如果您使用的是开启了kerberos认证的MRS集群，需要进行安全认证。                                                                                                                                                                                                                                                                   | [配置Spark应用安全认证](https://support.huaweicloud.com/devg3-mrs/mrs_07_200012.html)                                                                                                                                     |
| 根据场景开发工程   | 提供了Scala、Java、Python三种不同语言的样例工程，还提供了Streaming、SQL、JDBC客户端程序以及Spark on HBase四种不同场景的样例工程。 帮助用户快速了解Spark各部件的编程接口。                                                                                                                                      | [开发Spark应用](https://support.huaweicloud.com/devg3-mrs/mrs_07_200013.html)                                                                                                                                         |
| 编译并运行程序    | 将开发好的程序编译并运行，用户可在本地Windows开发环境中进行程序调测运行，也可以将程序编译为Jar包后，提交到Linux节点上运行。 说明： 用户还可以根据程序运行情况，对程序进行调优，使其性能满足业务场景诉求。调优完成后，请重新进行编译和运行。具体请参考中[Spark2x性能调优](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_1974.html)。 | [在Linux环境中编包并运行Spark程序](https://support.huaweicloud.com/devg3-mrs/mrs_07_200130.html)                                                                                                                             |
   
