`
bit1129
  • 浏览: 1073137 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Spark六十六】Spark求数据集平均值以及单词词频TopK

 
阅读更多
package spark.examples.avg

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.SparkContext._

object SparkAvg {
  def main(args: Array[String]) {
    System.setProperty("hadoop.home.dir", "E:\\devsoftware\\hadoop-2.5.2\\hadoop-2.5.2");
    val conf = new SparkConf()
    conf.setAppName("SparkAvg")
    conf.setMaster("local[3]")
    conf.set("spark.shuffle.manager", "sort");
    val sc = new SparkContext(conf)
    val a = sc.parallelize(1 to 9, 3)
    def func(iter: Iterator[Int]): Iterator[(Int, Int)] = {
      var res = List[(Int, Int)]()
      var count = 0
      var sum: Int = 0
      while (iter.hasNext) {
        count += 1
        sum += iter.next
      }
      res = (count, sum) :: res
      res.iterator
    }
    var sum = 0;
    var count = 0;
    val entries = a.mapPartitions(func).collect;
    for (entry <- entries) {
      count += entry._1
      sum += entry._2
    }
    println("count: " + count + "," + "sum: " + sum)
    sc.stop
  }
}

 

单词词频topK

package spark.examples.avg

import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.SparkContext._

object SparkTopK {
  def main(args : Array[String]) {
    val conf = new SparkConf().setAppName("SparkTopP").setMaster("local")
    val sc = new SparkContext(conf)
    val rdd = sc.parallelize(List(100,32,67,17,7,71, 38))
    val results = rdd.top(4);
    results.foreach(println)

    ///单词计数TopK
    val words = sc.parallelize(List("This is a book", "That is a desk",  "what is That"))
    val results2 = words.flatMap(_.split(" ")).map(x => (x, 1)).reduceByKey(_ + _).map(x => (x._2, x._1)).sortByKey(true, 1).top(3)
    results2.foreach(println)
    sc.stop
  }
}

 

 

分享到:
评论

相关推荐

    大数据技术实践——Spark词频统计

    【Spark技术实践——词频统计】在大数据领域,Spark作为一种高效的数据处理框架,以其快速、通用和可扩展性而受到广泛关注。本实践旨在基于已经搭建的Hadoop平台,利用Spark组件进行文本词频统计,以此深入理解Scala...

    4792个英文单词词频表.xlsx

    4792个英文单词词频表,excl格式,可以很方便的应用于相关的应用,2个英文单词词频表,excl格式

    软考英语单词词频表(计算机技术与软件专业技术资格水平考试英语单词词频表)

    软考英语单词词频表是专为计算机技术与软件专业技术资格(水平)考试的考生设计的英语词汇学习工具。该词频表根据历年考试真题和官方教材,统计出高频出现的英语单词及其出现频率,帮助考生快速掌握考试中常见的专业...

    数据结构课设:基于不同策略的英文单词的词频统计和检索系统.cpp

    一篇英文文章存储在一个文本文件中,然后分别基于线性表、二叉排序树和哈希表不同的存储结构,完成单词词频的统计和单词的检索功能。同时计算不同检索策略下的平均查找长度ASL,通过比较ASL的大小,对不同检索策略的...

    词频统计+倒排索引+数据去重+TopN

    在IT领域,尤其是在大数据处理和搜索引擎技术中,"词频统计+倒排索引+数据去重+TopN"是四个关键概念。接下来,我们将详细探讨这些知识点。 首先,词频统计(Word Frequency Count)是文本挖掘的基础工作,主要用于...

    单词词频统计

    标题 "单词词频统计" 描述的是一个程序或者方法,其目标是对文本文件(通常是`.txt`格式)中的单词进行计数,以找出出现最频繁的单词。这涉及到文本处理、数据统计和可能的排序算法。以下是这个主题涵盖的一些关键...

    英文单词词频统计

    大数据背景下经常需要提取关键词热词,该程序即完成对txt格式的英文内容进行词频统计,并按词频排序生成词频统计列表,通过对单词的预处理忽略's n't 'am “”大小写等形式过滤使程序更为准确

    英语单词词频统计C++实现

    英语单词词频统计 g++ -o statistics statistics.cpp ./statistics file1.txt file2.txt &gt; result.txt

    人工智能-项目实践-信息检索-基于不同策略的英文单词的词频统计和检索系统

    这个系统旨在高效地处理文本数据,通过对英文单词进行词频统计,进而支持快速有效的信息查找和分析。 首先,我们要理解词频统计(Term Frequency, TF)的概念。词频统计是自然语言处理中的一种基础方法,它衡量了在...

    Python-BounterPython高性能大规模数据集词频计数

    在Python的世界里,处理大规模数据集,特别是进行词频计数时,效率是至关重要的。Bounter正是这样一个针对此类需求设计的高性能库。这个库专为处理海量文本数据而优化,能够快速有效地计算词语出现的频率,对于自然...

    大数据 hadoop mapreduce 词频统计

    Map阶段的任务是对输入的文本进行分词,并形成&lt;单词, 1&gt;的键值对,而Reduce阶段则将所有具有相同单词键的记录合并,累加对应的值,从而得到每个单词的总出现次数。 具体步骤如下: 1. **数据准备**:首先,需要将...

    严蔚敏《数据结构》大实验:单词词频统计与单词检索

    严蔚敏《数据结构》大实验:单词词频统计与单词检索

    大数据技术实践之基于Spark的词频统计

    【大数据技术实践之基于Spark的词频统计】项目旨在利用Spark技术对文档中的单词出现次数进行统计,以实现词频分析。此项目的目标是熟练掌握Spark的安装与配置,理解其核心理念,以及如何在实际操作中运用Spark进行大...

    3117004568-黄钰竣-Spark词频统计.doc

    1. **熟悉在Spark中创建RDD(弹性分布式数据集)**:理解如何构建和管理分布式数据集。 2. **熟悉在Spark中做词频统计**:掌握使用Spark处理文本数据的方法。 #### 二、实验原理 随着互联网的发展,非结构化文本...

    双单词词频统计算法的流程图

    双单词词频统计算法是一种用于统计文本中连续出现的两个单词组合的频率的方法。这种算法通常用于自然语言处理和信息检索,可以帮助分析文本中的语义关系和模式。以下是对算法流程的详细解释: 首先,我们需要定义所...

    AI实战-英语单词词频统计数据集分析预测实例(含18个源代码+4.73 MB完整的数据集).zip

    AI实战-英语单词词频统计数据集分析预测实例(含18个源代码+4.73 MB完整的数据集) 代码手工整理,无语法错误,可运行。 包括:18个代码,共324.61 KB;数据大小:1个文件共4.73 MB。 使用到的模块: IPython.core....

    Spark+SparkSQL+Spark Streaming+Spark Core+数据处理

    Spark的核心特性是弹性分布式数据集(RDD),这是一种分布式、不可变的数据结构,适合大规模并行处理。Spark提供了多样的运行模式,如独立集群、Hadoop环境以及云服务,同时支持HDFS、HBase、Hive等多种数据源。 ...

    C++ 单词词频统计

    C++作业 自己写的单词词频统计小程序 比较简单

    不同策略的词频统计和检索

    在词频统计中,可以将单词作为键,频率作为值存储在二叉树中。每次遇到新单词,插入到树中;如果已存在,则更新其频率。二叉搜索树的特性使得查找效率较高,尤其在平衡的情况下。 4. **哈希表**:哈希表是通过哈希...

    单词的词频统计,按出现的频率递减的次序输出

    单词的词频统计 基本功能要求: (1)从文件中读出一篇英文文章,将不同的单词存入堆中,建立相应的索引表确定各单词在堆中存储的位置及出现的次数。 (2)按出现的频率递减的次序输出。

Global site tag (gtag.js) - Google Analytics