1.贴上源码
object SparkPi {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Spark Pi").setMaster("spark://hadoop1:7077").setJars(List("/home/kaiseu/MyProject/IdeaProjects/week2/out/artifacts/week2/week2.jar"))
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 = Math.random * 2 - 1
val y = Math.random * 2 - 1
if (x * x + y * y < 1) 1 else 0
}.reduce(_ + _)
println("Pi is rounghly " + 4.0 * count / n)
spark.stop()
}
}
2 启动spark集群
到spark安装目录:/app/hadoop/spark100
注意:在启动的时候命令必须写成:"./start-all.sh" 来表明是当前目录下的"start-all.sh",因为在配置Hadoop的bin 目录下也有一个"start-all.sh"文件!
使用jps查看进程
3.通过spark集群web页面访问"http://hadoop1:8080"
4.运行结果
本文展示了如何使用Spark进行Pi的近似计算。通过创建SparkConf,设置appName和master,然后创建SparkContext。代码中计算了随机点落在单位圆内的比例,乘以4即为Pi的近似值。最后,启动Spark集群执行任务。
3926

被折叠的 条评论
为什么被折叠?



