如何用hadoop自带的包计算pi值

14人阅读 评论(0) 收藏 举报
分类:

一、计算pi的值的原理

        通过hadoop计算pi值确实是一件很酷的事情,当然你也会疑惑,(Hadoop不是一个分布式计算的处理数据的东东吗?)当然,计算它能处理大量数据,我们可以通过这种方式来计算pi的值。究竟是怎么运算出它的值,大家请看下面:
通过万能的google,找到了它的原理图:

这是通过扔飞镖计算概率,在第二象限里面,相当于是长款各自为1的正方形,里面有半径为1的四分之一的圆。那么这个在第二象限里面的正方形里面扔飞镖,在四分之一的圆的概率为pi/4,所以我们要求的pi就是这个求出的概率乘以4。所以大家是不是有一种恍然大悟的感觉。

二、如何运用hadoop自带的包进行计算

首先我们先找到你安装hadoop所在的目录里面,然后执行这个命令
当然我的这个是hadoop-2.7.5版本的,不能全部按照我的命令打,但是你可以通过找到hadoop文件夹,选择里面的share/hadoop/mapreduce这儿应该是没有错误的,然后如果路径没选择错误的话,你接着打hadoop-mapreduce-examples之后摁Tab键,linux它能自动帮助你补全。然后敲击回车执行这个命令,刚开始会出现这个
这句话的意思的有三次map任务,每个执行100000000.两个参数的乘积就是总的投掷次数,当然,如果你想为了结果更加准确,可以把这几个数值改大点。

所以hadoop还是比较强大的,大家了解之后是不是感觉还是蛮有趣的。

查看评论

hadoop估算π

一、hadoop不适合计算密集型的工作  以前看过一个PPT: Hadoop In 45 Minutes or Less ,记得上面说hadoop不适合计算密集型的工作,比如计算PI后100000...
  • mm_bit
  • mm_bit
  • 2015年11月17日 17:40
  • 678

hadoop中的pi值计算

注意在hadoop中,操作一定要规范。不规范的操作引起exception满天飞······· 其实hadoop中的pi值运算还是挺简单的。在这里主要讲一下这个例子中要注意的地方: [hadoop@...
  • caihongshijie6
  • caihongshijie6
  • 2013年05月04日 13:45
  • 2580

用hadoop计算PI值

摘要:最近研究hadoop的一个例子,计算PI值,本以为hadoop不适合这种密集型的计算,却发现了在hadoop自带的examples里,竟然有PiEstimator这个例子,于是深入研究一下,首先...
  • minglaihan
  • minglaihan
  • 2014年08月30日 10:19
  • 2672

C++计算PI的值

#include using namespace std;   double arctan(double x) {           double sqr = x * x;       ...
  • dabai86
  • dabai86
  • 2017年05月08日 14:02
  • 598

【MapReduce开发】计算PI

MapReduce无法进行递归和迭代式的计算,所以目前基于MapReduce计算PI的算法只有一种,就是Stanford在一篇论文里提到过的一种掷飞镖计算方法。原文我在网上没有找到,所以就把网友的文章...
  • Amber_amber
  • Amber_amber
  • 2015年08月13日 15:49
  • 1739

Hadoop自带的一些程序示例

一、PiEstimator.java 位置:E:\Hadoop\hadoop-0.20.1\src\examples\org\apache\hadoop\examples /** * Lic...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年03月14日 19:44
  • 2159

python R 实现蒙特卡洛算法计算pi值

python R 两种语言实现蒙特卡洛算法计算pi值。
  • neweastsun
  • neweastsun
  • 2016年07月01日 11:57
  • 3602

python篇---计算π的值

π的计算采用近似计算     首先构造一个单位正方形和一个四分之一圆,然后随机想其中抛洒大量的点,每个点可能在圆内也可能在圆外,当点数足够多时圆内点将构成圆的面积,全部点将构成矩形面积,用圆内点数量除...
  • qq_41699343
  • qq_41699343
  • 2018年03月05日 08:42
  • 239

用随机投点法计算PI值

#include "iostream" #include "ctime" #include "iomanip"using namespace std;const unsigned long maxsh...
  • u012319493
  • u012319493
  • 2015年12月11日 13:16
  • 2000

利用spark进行圆周率的计算

package example import org.apache.spark.{SparkContext, SparkConf} import scala.math.random /** * ...
  • sinat_31726559
  • sinat_31726559
  • 2016年06月10日 02:19
  • 1214
    个人资料
    持之以恒
    等级:
    访问量: 128
    积分: 115
    排名: 122万+
    文章存档
    最新评论