Local模式,就是在本地运行,如果在命令语句中不加任何配置,Spark默认设置为Local模式。Local模式最大的用处就是可以很方便地在单机上调试我们写的Spark应用程序。由于Local模式的实例部署很简单,这里我们还是使用在第2章2.3.1节进行过演示的Spark源码中的示例代码LocalPi为例,演示Spark如何在本地运行。
下面是Spark 1.2中的org.apache.spark.examples包下给出的LocalPi案例代码,最终的运行结果是要求出Pi的大约值。
(1)本地运行。对于Spark自己提供的案例,都是放在org.apache.spark.examples包下,并且它提供了一个run-example命令可以让我们直接运行这些案例。下面我们直接进入到Spark的bin目录下,使用run-example命令运行org.apache.spark.examples.LocalPi这个类。
在Shell命令终端,可以看到打印出了“Pi is roughly 3.14976”这个结果。(www.xing528.com)
(2)本地模式的标准写法是local[N],这里的N表示的是打开N个线程进行多线程运行。下面演示的是使用4个线程来运行LocalPi,只需要在run-example命令的附加参数加上local[4],当然这里最终的运行结果和上面的一样。
(3)除了在命令终端提交任务的部署工具后面的附加参数添加运行模式,我们还可以直接在自己编写的代码的具体实现中添加运行模式。比如在下述案例代码中,通过在Spark-Conf对象的setMaster方法里添加local来指定是本地运行模式。
这里需要注意的是,在用户自己编写的程序中设置的运行模式的优先级要大于在Spark应用程序部署工具附加的参数里设置的值。比如在Spark Submit的附加参数中添加Yarn运行模式,而在用户自己写的应用程序里设置了Local运行模式,这时Spark应用程序在实际运行的时候会采用Local运行模式。但是我们为了使得应用程序能够更加灵活多变地部署在各种模式下,不建议把运行模式相关的值在自己编写的代码里写入。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。