参考:
英文:
中文: 1.2.1版本的
(一)快速入门
老规矩,先看一个简单示例,有个认识。这个示例来自官方example的SparkPi:
package org.lujinhong.demo.spark/* * 官方的sparkPi示例 */import scala.math.randomimport org.apache.spark._/** Computes an approximation to pi */object SparkPi { def main(args: Array[String]) { val conf = new SparkConf().setAppName("Spark Pi").setMaster("local") val spark = new SparkContext(conf) val slices = if (args.length > 0) args(0).toInt else 2 val n = math.min(100000L * slices, Int.MaxValue).toInt // avoid overflow val count = spark.parallelize(1 until n, slices).map { i => val x = random * 2 - 1 val y = random * 2 - 1 if (x*x + y*y < 1) 1 else 0 }.reduce(_ + _) println("Pi is roughly " + 4.0 * count / n) spark.stop() }}
注意以上的setMaster(“local”)是自己加上去的,方便直接在本地运行。如果在集群上运行,则通过spark-submit的—master参数指定。
写好代码后,就可以直接在eclipse中右键—>运行了。