运行Hadoop实例——Pi Estimator

我们继续来学习Hadoop,这货太大了,你看到它的源码可能还不会有什么感觉,一旦你看到它的UML类图,肯定会吓一跳。废话不多说,今天我们来运行一个Hadoop实例,这样才能更清楚Hadoop是怎么运行的,对我们学习Hadoop有很大帮助。我们今天要测试一个实例:

Pi Estimator:用Monte Carlo方法估算Pi(π)值;

启动Hadoop后,回到Hadoop目录,输入以下命令执行Pi Estimator程序:

./bin/hadoop jar hadoop-0.20.2-examples.jar pi 2 10

运行Hadoop实例——Pi Estimator

Figure3:Pi Estimator 输出结果

命令最后两个两个参数的含义:

      第一个参数是指要运行map的次数,这里是2次;

      第二个参数是指每个map任务,取样的个数;

      而两数相乘即为总的取样数。

这样的解释不太好理解吧?呵呵,那我们换种说法,上面提到,Pi Estimator使用Monte Carlo方法计算Pi值的,那么什么是Monte Carlo方法呢?

这时你需要借助Google了(学习的三大利器:Google,问人,牛人写的书),我们来看看维基百科上是怎么解释Monte Carlo方法的:

蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。

Monte Carlo方法到基本思想:

当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。有一个例子可以使你比较直观地了解蒙特卡洛方法:假设我们要计算一个不规则图形的面积,那么图形的不规则程度和分析性计算(比如,积分)的复杂程度是成正比的。

相关推荐