首页
学习
活动
专区
圈层
工具
发布

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)

代码语言:javascript
复制
/**
  * 对结果数据进行处理
  *   1、 存储结果/显示结果
  */
words.foreachPartition(_.foreach(println(_)))

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

} }

下一篇
举报
领券