Spark-实例0.Word Count

package com.junzerg

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

object WordCount {
def main(args: Array[String]): Unit = {
/**
* 获取编程入口
* 1.初始化一个SparkContext对象
/
val conf: SparkConf = new SparkConf()
conf.setAppName("WordCount")
conf.setMaster("local")
val sc: SparkContext = new SparkContext(conf)
/
*
* 通过编程入口加载数据:
* 1.使用textFile函数将输入文件转化成一个RDD
/
val lines: RDD[String] = sc.textFile("/Users/pengjunzhe/Downloads/spark-2.4.0-bin-hadoop2.7/README.
/
*
* 对数据进行处理:
* 1. 将数据每行字符串解析出单词
* 2. 筛选只有字母的部分,也就是单词
* 3. 将相同的单词放到一个组中
* 4. 根据字母排序将RDD分区
* 5. 统计每个组中每个单词出现的频率
* 6. 筛选出现次数大于1的单词
* 7.根据出现次数排序
*/
val words = lines
.flatMap(.split(" "))
.filter(
.matches("[A-Za-z]+"))
.map((, 1))
.partitionBy(new AlphaPartitioner(2))
.reduceByKey(
+ )
.filter(
.2 > 1)
.sortBy(
._2, false)

/**
  * 对结果数据进行处理
  *   1、 存储结果/显示结果
  */
words.foreachPartition(_.foreach(println(_)))

/**
  * 结束关闭入口
  */
sc.stop()

}
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容