连接火花簇

时间:2018-04-08 11:04:11

标签: apache-spark

以这种方式连接spark集群:spark:// master:7707但是不是以spark-submit的方式提交任务而不是直接运行main方法,这是在spark集群上运行吗?

object SparkPi {    
  def main(args: Array[String]) {    
    val conf = new SparkConf()
                  .setAppName("Spark Pi")
                  .setMaster("spark://master:7707")

    val spark = new SparkContext(conf)    
    val slices = if (args.length > 0) args(0).toInt else 2    
    val n = 100000 * slices    
    val count = spark.parallelize(1 to n, slices).map { i =>    
      val x = random * 2 - 1    
      val y = random * 2 - 1    
      if (x*x + y*y < 1) 1 else 0    
    }.reduce(_ + _)    
    println("Pi is roughly " + 4.0 * count / n)    
    spark.stop()    
  }    
}

1 个答案:

答案 0 :(得分:0)

使用java命令直接执行此应用程序时,创建的进程将在客户端模式下运行Spark 驱动程序

要在群集上运行,您必须使用spark-submit。

请注意,它只是在执行此main方法的机器上运行的驱动程序。作业将在工作集群上运行,计算将在那里进行(除非您的主服务器设置为local,否则在示例代码中不是这样)

相关问题