`

spark集群中运行SparkPi的示例

 
阅读更多

    1、SparkPi.scala源码(官网例子)

     

import scala.math.random

import org.apache.spark._

/** Computes an approximation to pi */
object SparkPi {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("Spark Pi")
    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()
  }
}

 

2、在Intellij IDE集成开发环境中运行,会出错,需要修改代码,增加

      val conf = new SparkConf().setAppName("Spark Pi").setMaster("spark://master:7077")

 

3、利用IDE环境,把代码打成jar,只需要源码程序即可(其它的引用包去掉)

 

4、然后在IDE的代码中增加

     spark.addJar("/home/cec/spark-1.2.0-bin-hadoop2.4/helloworld.jar")

     把helloworld.jar分发到各个worker中

 

5、运行即可

    14/12/31 15:28:57 INFO DAGScheduler: Stage 0 (reduce at SparkPi.scala:21) finished in 4.500 s

    14/12/31 15:28:58 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:21, took 8.608873 s

    Pi is roughly 3.14468

 

    修改后的运行代码如下:

import scala.math.random
import org.apache.spark.{SparkConf, SparkContext}

/**
 * Created by cec on 12/31/14.
 */


object SparkPi {

  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("Spark Pi").setMaster("spark://master:7077")
    val spark = new SparkContext(conf)
    spark.addJar("/home/cec/spark-1.2.0-bin-hadoop2.4/helloworld.jar")
    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()
  }

}

 

分享到:
评论

相关推荐

    实时计算框架:Spark集群搭建与入门案例.docx

    在命令行中指定类名(org.apache.spark.examples.SparkPi)、Master地址(local表示本地模式)以及jar包路径,运行后会得到一个近似圆周率的值。 在实际开发中,开发者通常会利用Spark提供的API编写应用程序,例如...

    spark 分布式集群搭建

    以上步骤涵盖了 Spark Standalone 分布式集群的基本搭建方法及其核心概念,对于理解和应用 Spark 在分布式环境中至关重要。通过这些步骤,开发者可以快速搭建起一个可扩展且高效的 Spark 集群。

    Intellij IDEA连接Spark集群

    本文主要介绍如何在 IntelliJ IDEA 中配置并连接到 Apache Spark 集群,以便进行 Spark 应用程序的开发。 #### 二、准备工作 在开始配置之前,请确保你已经安装了以下软件: - **Java**:Spark 应用基于 Java 平台...

    Spark集群与应用.docx

    - **运行示例程序**: 使用`spark-submit`命令提交Spark作业,例如`bin/spark-submit --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.1.1.jar`。 #### 三、开发案例 ##### 1、...

    spark2.1集群安装

    这些节点将共同构成一个Spark集群。 **1.1 环境规划** - **Master节点:** cancer01 - **Worker节点:** cancer02, cancer03, cancer04, cancer05 **1.2 系统环境准备** - 操作系统: 假设为Linux (推荐CentOS 7或...

    spark1.2.1常用模式部署运行

    Spark 提供了一些示例程序,例如 SparkPi,可以使用以下命令运行: ``` ./bin/run-example SparkPi 10 ``` 这将运行 SparkPi 例子程序,并显示结果。 Cluster Mode Spark 支持三种分布式部署模式:standalone、...

    Spark实验:On Yarn模式安装部署(带答案)1

    在这个实验中,我们将详细探讨如何在Yarn模式下安装和部署Spark集群。 首先,我们需要准备实验环境,这里包括三台虚拟机,操作系统为CentOS 7.5,Hadoop版本为2.7.3,Spark版本为2.1.1。这些版本的兼容性对于实验的...

    Spark简单测试案例

    综上所述,本文介绍了在特定的 Hadoop 和 Spark 集群环境下进行 WordCount 示例的实现过程。从环境搭建、IDE 配置到代码编写,每个步骤都进行了详细的说明。通过学习这个案例,可以帮助读者更好地理解 Spark 的基本...

    Spark的Yarn模式

    Spark的Yarn模式是将Spark应用部署在Hadoop的YARN资源管理系统上的方式,这种方式无需单独搭建Spark集群,而是利用YARN的资源管理和调度能力。YARN(Yet Another Resource Negotiator)是Hadoop 2.x版本引入的一个...

    spark2_8_3安装版exe.zip

    4. 测试安装:运行`bin/spark-shell`启动Spark的交互式Shell,或者运行`bin/run-example org.apache.spark.examples.SparkPi`来验证安装是否成功。 Spark 2.8.3的主要特性包括: 1. SQL支持:通过Spark SQL,Spark...

    spark组件部署.doc

    安装完成后,你可以通过运行Spark自带的示例`SparkPi`来验证安装是否成功。在Spark目录下执行: ```bash ./bin/run-example SparkPi ``` 为了方便查看结果,可以使用grep命令过滤输出: ```bash ./bin/run-example ...

    Spark开发指南.pdf

    [hadoop@10-10-116-236 bin]$ ./spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster ../lib/spark-examples*.jar 10 ``` 3. **结果查看**: - Client 模式下,输出...

    hadoop&spark安装.md

    该命令用于计算圆周率的近似值,通过 Spark 提交一个名为 `SparkPi` 的 Java 类并指定 Spark 集群的主节点地址。 #### 五、总结 通过上述步骤,我们已经完成了 Hadoop 和 Spark 在 Ubuntu 20.04 LTS 上的安装与...

    spark-3.2.0-bin-without-hadoop.tgz

    此命令启动了一个名为SparkPi的示例应用,它将在YARN上以cluster模式运行,分配4个executor,每个executor有512MB内存。 Spark 3.2.0还引入了一些优化和改进,比如增强SQL性能、改进DataFrame/Dataset API、优化...

    spark安装文档

    3. 最后,我们使用Spark自带的示例程序来测试Spark是否可以正常运行。在Spark的bin目录下,输入`./bin/run-example SparkPi 1`。这个命令会运行一个计算π值的简单程序,如果看到输出结果,表明Spark已经成功配置并...

    hadoop&spark安装、环境配置、使用教程.docx

    $ bin/run-example org.apache.spark.examples.SparkPi ``` #### 总结 Hadoop和Spark都是大数据处理领域的重要工具。Hadoop在稳定性和可靠性方面表现突出,适用于传统的离线批处理任务;而Spark则在速度和灵活性...

Global site tag (gtag.js) - Google Analytics