
# 从零开始使用Spark
本章节提供从零开始使用Spark提交sparkPi作业的操作指导，sparkPi是最经典的Spark作业，它用来计算Pi（π）值。
#### 操作步骤
1. 准备sparkPi程序。
   
   开源的Spark的样例程序包含多个例子，其中包含sparkPi。可以从<https://archive.apache.org/dist/spark/spark-2.1.0/spark-2.1.0-bin-hadoop2.7.tgz>中下载Spark的样例程序。
   解压后在"spark-2.1.0-bin-hadoop2.7/examples/jars"路径下获取"spark-examples_2.11-2.1.0.jar"，即为Spark的样例程序。spark-examples_2.11-2.1.0.jar样例程序包含sparkPi程序。
   
   
2. 上传数据至OBS。 
   1. 登录OBS控制台。
   
   2. 单击"并行文件系统 \> 创建并行文件系统"，创建一个名称为sparkpi的文件系统。 sparkpi仅为示例，文件系统名称必须全局唯一，否则会创建并行文件系统失败。其他参数分别保持默认值。
      
   
   3. 单击sparkpi文件系统名称，并选择"文件"。
   
   4. 单击"新建文件夹"，分别创建program文件夹，创建完成后如[图1]所示。
      图1文件夹列表   
      ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001097870430.png) 
   
   5. 进入program文件夹，单击上传文件，从本地选择[1]中下载的程序包，"存储类别"选择"标准存储"。
   
   
   
   
3. 登录MRS控制台，在左侧导航栏选择"现有集群"，单击集群名称。
4. 提交sparkPi作业。 
   在MRS控制台选择"作业管理"，单击"添加"，进入"添加作业"页面，具体请参见[运行Spark作业](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0524.html)。
   图2sparkPi作业   
   ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001123566405.png)
   - 作业类型选择"SparkSubmit"。
   
   - 作业名称为"sparkPi"。
   
   - 执行程序路径配置为OBS上存放程序的地址。例如：obs://sparkpi/program/spark-examples_2.11-2.1.0.jar。
   
   - 运行程序参数选择"--class"，值填写"org.apache.spark.examples.SparkPi"。
   
   - 执行程序参数中填写的参数为： 10。
   
   - 服务配置参数无需填写。
    
   只有集群处于"运行中"状态时才能提交作业。
   作业提交成功后默认为"已接受"状态，不需要用户手动执行作业。
   
   
5. 查看作业执行结果。 
   1. 进入"作业管理"页面，查看作业是否执行完成。 作业运行需要时间，作业运行结束后，刷新作业列表。
      作业执行成功或失败后都不能再次执行，只能新增作业，配置作业参数后重新提交作业。
      
   
   2. 进入Yarn原生界面，查看作业输出信息。
      1. 进入"作业管理"页面，单击对应作业所在行"操作"列的"查看详情"，获取"作业实际编号"。
         图3作业实际编号   
         ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001123223281.png) 
      
      2. 登录Manager页面，选择"服务管理 \> Yarn \> ResourceManager WebUI \> ResourceManager (主)"进入Yarn界面。
      
      3. 单击"作业实际编号"对应ID。
         图4Yarn界面   
         ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001389176700.png) 
      
      4. 单击作业日志中的"Logs"。
         图5sparkPi作业日志   
         ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001389336236.png) 
      
      5. 单击"here"获取更详细日志。
         图6sparkPi作业更详细日志   
         ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001123448177.png) 
      
      6. 获取作业执行结果。
         图7sparkPi作业执行结果   
         ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001123223283.png) 
       
   
   
   
   
 
