当前位置: 首页 > news >正文

大数据Spark(五十八):Spark Pi介绍

文章目录

Spark Pi介绍


Spark Pi介绍

Spark Pi是Apache Spark官方提供的一个示例程序,该案例使用 Spark 进行分布式计算,通过蒙特卡罗方法估算圆周率(π)的值,其估算π原理如下:

上图中,正方形边长为2,圆的半径为1,那么正方形面积为4,圆的面积为π。现在向正方形内随机“打点”,即随机生成(x,y)坐标,范围不超过正方向范围,最终记录在圆内打点的个数与正方形内打点的个数,两者比例为4/π,当“打点”个数非常大时,可以大约算出π的大小。

Spark Pi源码如下(Spark源码examples模块中org.apache.spark.examples.SparkPi):

object SparkPi {def main(args: Array[String]): Unit = {val spark = SparkSession.builder.appName("Spark Pi").getOrCreate()val slices = if (args.length > 0) args(0).toInt else 2//如果slices为100,那么n为一千万val n = math.min(100000L * slices, Int.MaxValue).toInt // avoid overflow//随机生成n-1个点,然后计算落在圆内的点的个数val count = spark.sparkContext.parallelize(1 until n, slices).map { i =>//random返回的是0到1之间的随机数,x,y的取值范围是-1到1val x = random * 2 - 1val y = random * 2 - 1if (x*x + y*y <= 1) 1 else 0}.reduce(_ + _)//计算pi-圆的面积/正方形的面积=count/n,即:pi = 4*count/(n-1)println(s"Pi is roughly ${4.0 * count / (n - 1)}")spark.stop()}
}

以上代码注意如下几点:

  • SparkSession为SparkSQL中的对象,可以通过SparkSession对象获取SparkContext对象。
  • slices参数是用户在运行SparkPi 任务传入的参数,该参数用于在并行化集合为RDD过程中指定RDD的分区个数,即并行度个数。

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

相关文章:

  • 49-dify案例分享-私有化 MCP 广场搭建与网页小游戏智能体工作流实战
  • 【Bootstrap V4系列】学习入门教程之 组件-徽章(Badge)和面包屑导航(Breadcrumb)
  • C++ 开发指针问题:E0158 表达式必须为左值或函数指示符
  • 【React】Hooks useReducer 详解,让状态管理更可预测、更高效
  • ActiveMQ 集群搭建与高可用方案设计(一)
  • Hal库下备份寄存器
  • Spring Boot的GraalVM支持:构建低资源消耗微服务
  • 高中数学联赛模拟试题精选学数学系列第5套几何题
  • 深度学习核心架构:探明四种基础神经网络
  • STM32部分:2、环境搭建
  • Linux53 百度网盘运行(下载devtoolset11后仍提示stdc++3.0.29缺失 计划用docker容器隔离运行,计划后续再看)
  • 私人医生通过AI分析基因数据,是否有权提前告知癌症风险?
  • Fabrice Bellard(个人网站:‌bellard.org‌)介绍
  • MySQL--索引入门
  • 从零认识阿里云OSS:云原生对象存储的核心价值
  • 二极管反向恢复的定义和原理
  • JavaScript性能优化实战(8):缓存策略与离线优化
  • 基于Java的数字商品管理系统的设计与实现
  • 人工智能发展史 — 物理学诺奖之 Hopfield 联想和记忆神经网络模型
  • 前端跨域问题怎么在后端解决
  • 中国人民银行:5月8日起降息,15日起降准
  • 上海虹桥高铁站拦门事件反转,谁在带偏网友?
  • 《蓦然回首》:现代动画的践行与寓言
  • 新质观察|“模速空间”如何成为“模范空间”
  • 工人日报关注跟着演出去旅游:票根经济新模式兴起,让过路客变过夜客
  • 黔西游船倾覆事故84名落水人员已全部找到,10人不幸遇难