spark word count
1、创建一个maven工程
2、添加maven依赖
org.apache.spark
spark-core_2.12
3.0.0
net.alchim31.maven
scala-maven-plugin
3.2.2
testCompile
org.apache.maven.plugins
maven-assembly-plugin
3.1.0
jar-with-dependencies
make-assembly
package
single
3、写代码
package wc
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Spark_wordcount {
def main(args: Array[String]): Unit = {
//创建spark上下文配置对象
val sparkconf = new SparkConf().setMaster("local[*]").setAppName("WordCount")
//配置spark上下文环境对象
val sc: SparkContext = new SparkContext(sparkconf)
//读取数据
val fileRdd: RDD[String] = sc.textFile("D:\\gmall2021-parent\\spark\\input\\word.txt")
//将文件中的数据进行分词
val wordRDD: RDD[String] = fileRdd.flatMap(_.split(" "))
//转换数据结构 word =>(word,1)
val word2: RDD[(String, Int)] = wordRDD.map((_,1))
//转换后的数据按照相同的单词进行聚合
val wordCount: RDD[(String, Int)] = word2.reduceByKey(_+_)
//将聚合结构采集到内存中
val tuples: Array[(String, Int)] = wordCount.collect()
//打印
tuples.foreach(println)
}
}
4、准备数据
word.text
word count
hello word
hell spark
5、运行 结束
结果
(word,2)
(hello,1)
(spark,1)
(hell,1)
(count,1)