寒假学习进度2

今天接着昨天spark学习

使用spark自己自带的函数完成对文本中的单词统计,昨天代码的进阶版

代码:package com.chenghaixiang.core.wc

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object spark02_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:\\qq text\\1791028291\\FileRecv\\《飘》英文版.txt")
// 将文件中的数据进行分词
val wordRDD: RDD[String] = fileRDD.flatMap( _.split(" ") )
// 转换数据结构 word => (word, 1)
val word2OneRDD: RDD[(String, Int)] = wordRDD.map((_,1))
// 将转换结构后的数据按照相同的单词进行分组聚合
val word2CountRDD: RDD[(String, Int)] = word2OneRDD.reduceByKey(_+_)
// 将数据聚合结果采集到内存中
val word2Count: Array[(String, Int)] = word2CountRDD.collect()
// 打印结果
word2Count.foreach(println)
//关闭 Spark 连接
sc.stop()
}

}

 

 

spark本地模式测试:

首先安装spark到linux上

上传

 

到linux上

解压

 

 启动spark

 

 输入网址看是否能登录

 

 在spark本地上看是否能运行

 

 

 

 spark上提交应用:

 

 

 

posted @ 2021-12-22 21:55  chenghaixinag  阅读(29)  评论(0编辑  收藏  举报