spark对单词进行统计,可以有独立模式和集群模式,独立模式下可以直接对单词进行统计 import org.apache.spark.{SparkConf,SparkContext} object WordCount { def main(args: Array[String]): Unit={ val conf =new SparkConf() conf.setAppName("WordCountScala") // conf.setMaster("local[3]") //独立模式 //创建 sparkContext对象 val sc=new SparkContext(conf) //加载文件 //val rdd1=sc.textFile(("file:///G:/downloads/bigdata/wc.txt"),5) //独立模式 val rdd1=sc.textFile(args(0),3) //集群模式 //压扁 val rdd2=rdd1.flatMap(_.split(" ")) //标一成对 val rdd3=rdd2.map((_,1)) //聚合 val rdd4=rdd3.reduceByKey(_+_) var arr=rdd4.collect() arr.foreach(println(_)) } }
集群模式下,需要将类文件打成jar包。
a)上传jar到hdfs
hdfs dfs -put myspark.jar /user/hadoop/data
b)执行
spark-submit --master spark://s101:7077 --class WordCountScala --deploy-mode cluster hdfs://mycluster/user/hadoop/data/myspark.jar /user/hadoop/data/wc.txt