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() } }
相关推荐
在命令行中指定类名(org.apache.spark.examples.SparkPi)、Master地址(local表示本地模式)以及jar包路径,运行后会得到一个近似圆周率的值。 在实际开发中,开发者通常会利用Spark提供的API编写应用程序,例如...
以上步骤涵盖了 Spark Standalone 分布式集群的基本搭建方法及其核心概念,对于理解和应用 Spark 在分布式环境中至关重要。通过这些步骤,开发者可以快速搭建起一个可扩展且高效的 Spark 集群。
本文主要介绍如何在 IntelliJ IDEA 中配置并连接到 Apache Spark 集群,以便进行 Spark 应用程序的开发。 #### 二、准备工作 在开始配置之前,请确保你已经安装了以下软件: - **Java**:Spark 应用基于 Java 平台...
- **运行示例程序**: 使用`spark-submit`命令提交Spark作业,例如`bin/spark-submit --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.1.1.jar`。 #### 三、开发案例 ##### 1、...
这些节点将共同构成一个Spark集群。 **1.1 环境规划** - **Master节点:** cancer01 - **Worker节点:** cancer02, cancer03, cancer04, cancer05 **1.2 系统环境准备** - 操作系统: 假设为Linux (推荐CentOS 7或...
Spark 提供了一些示例程序,例如 SparkPi,可以使用以下命令运行: ``` ./bin/run-example SparkPi 10 ``` 这将运行 SparkPi 例子程序,并显示结果。 Cluster Mode Spark 支持三种分布式部署模式:standalone、...
在这个实验中,我们将详细探讨如何在Yarn模式下安装和部署Spark集群。 首先,我们需要准备实验环境,这里包括三台虚拟机,操作系统为CentOS 7.5,Hadoop版本为2.7.3,Spark版本为2.1.1。这些版本的兼容性对于实验的...
综上所述,本文介绍了在特定的 Hadoop 和 Spark 集群环境下进行 WordCount 示例的实现过程。从环境搭建、IDE 配置到代码编写,每个步骤都进行了详细的说明。通过学习这个案例,可以帮助读者更好地理解 Spark 的基本...
Spark的Yarn模式是将Spark应用部署在Hadoop的YARN资源管理系统上的方式,这种方式无需单独搭建Spark集群,而是利用YARN的资源管理和调度能力。YARN(Yet Another Resource Negotiator)是Hadoop 2.x版本引入的一个...
4. 测试安装:运行`bin/spark-shell`启动Spark的交互式Shell,或者运行`bin/run-example org.apache.spark.examples.SparkPi`来验证安装是否成功。 Spark 2.8.3的主要特性包括: 1. SQL支持:通过Spark SQL,Spark...
安装完成后,你可以通过运行Spark自带的示例`SparkPi`来验证安装是否成功。在Spark目录下执行: ```bash ./bin/run-example SparkPi ``` 为了方便查看结果,可以使用grep命令过滤输出: ```bash ./bin/run-example ...
[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 模式下,输出...
该命令用于计算圆周率的近似值,通过 Spark 提交一个名为 `SparkPi` 的 Java 类并指定 Spark 集群的主节点地址。 #### 五、总结 通过上述步骤,我们已经完成了 Hadoop 和 Spark 在 Ubuntu 20.04 LTS 上的安装与...
此命令启动了一个名为SparkPi的示例应用,它将在YARN上以cluster模式运行,分配4个executor,每个executor有512MB内存。 Spark 3.2.0还引入了一些优化和改进,比如增强SQL性能、改进DataFrame/Dataset API、优化...
3. 最后,我们使用Spark自带的示例程序来测试Spark是否可以正常运行。在Spark的bin目录下,输入`./bin/run-example SparkPi 1`。这个命令会运行一个计算π值的简单程序,如果看到输出结果,表明Spark已经成功配置并...
$ bin/run-example org.apache.spark.examples.SparkPi ``` #### 总结 Hadoop和Spark都是大数据处理领域的重要工具。Hadoop在稳定性和可靠性方面表现突出,适用于传统的离线批处理任务;而Spark则在速度和灵活性...