Spark学习总结一 单词计数

本文介绍了一种利用Apache Spark框架来统计文件中单词数量的方法。通过使用Scala语言编写程序,实现了从本地文件读取数据、拆分单词、计数,并将结果保存到指定文件的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、场景:统计文件单词个数

二、Scala代码实现:

package cn.com.git.scala.spark.test


import org.apache.spark._
import org.apache.spark.SparkContext._
import org.apache.spark.rdd.RDD.rddToPairRDDFunctions

object SparkWordCount {
  def FILE_NAME: String = "word_count_results_";
  def main(args: Array[String]) {
 
    val sc = new SparkContext("local", "WordCount", System.getenv("SPARK_HOME"), Seq(System.getenv("SPARK_TEST_JAR")))
    //本地文件
    val filePath = "E:/temp/demo.txt";
    

    val textFile = sc.textFile(filePath);

    //空格作为分隔符,统计单词数量

    val wordCounts = textFile.flatMap(line => line.split(" ")).map(
      word => (word, 1)).reduceByKey((a, b) => a + b)
    //结果保存在文件中 
    wordCounts.repartition(1).saveAsTextFile(FILE_NAME + System.currentTimeMillis())
    
    println("Word Count program running results are successfully saved.");
  }

}

三、执行结果

工程目录下生成结果文件夹:word_count_results_1500537461876(毫秒数);

包括子文件:_SUCCESS 、part-00000;

统计结果在part-00000文件中:

(F48_20170531_090622_75403,9)
(INFO,9)
(mon.router.r,9)
(296,9)
(2017-06-16-15:33:20.240,9)
(pquery.CifInfoQueryByAcct,9)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值