Spark运行WordCount(案例二)
具体细节参考Spark运行WordCount(案例一):
和前期准备工作:
import org.apache.spark.{SparkConf, SparkContext}
/**
* 统计字符出现次数
*/
object WorkCount {
def main(args: Array[String]) {
if (args.length < 1) {
System.err.println("Usage: <file>")
System.exit(1)
}
val conf = new SparkConf()
val sc = new SparkContext(conf)
//SparkContext 是把代码提交到集群或者本地的通道,我们编写 Spark代码,无论是要运行本地还是集群都必须有 SparkContext 的实例。
val line = sc.textFile(args(0))
//把读取的内容保存给line变量,其实line是一个MappedRDD,Spark的代码,都是基于RDD操作的;
line.flatMap(_.split("")).map((_, 1)).reduceByKey(_+_).collect.foreach(println)
sc.stop
}
}
#!/bin/bash
cd $SPARK_HOME/bin
spark-submit \
--master spark://localhost:7077 \
--class WorkCount \
--name WorkCount \
--executor-memory 2048M \
--driver-memory 3096M \
/Users/zhangsf/bigdata/myjar/wordcount.jar \
hdfs://localhost:9000/zhangvalue/input/poet.txt