首页 > 其他分享 >Spark算子综合案例 - Scala篇

Spark算子综合案例 - Scala篇

时间:2024-07-14 17:25:45浏览次数:13  
标签:String val scala python Scala RDD 算子 Spark hello

文章目录


第1关:WordCount - 词频统计

任务描述
本关任务:使用 Spark Core 知识编写一个词频统计程序。

编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

对文本文件内的每个单词都统计出其出现的次数。
按照每个单词出现次数的数量,降序排序。
文本文件内容如下:

hello java
hello python java
hello python python
hello flink
scala scala scala scala scala
说明:单词与单词之间以空格进行分割

测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
测试输入:可查看右侧文件夹中wordcount.txt文件,具体内容为上述文本内容。
预期输出:
(scala,5)
(hello,4)
(python,3)
(java,2)
(flink,1)

代码

import org.apache.spark.rdd.RDD

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

object WordCount {

  def main(args: Array[String]): Unit = {

    val conf = new SparkConf().setMaster("local").setAppName("WordCount")

    val sc = new SparkContext(conf)

    val path = "file:///root/files/wordcount.txt"

    /********* Begin *********/

    //读取文件创建RDD

    val file = sc.textFile(path)

    //切分并压平

    val words: RDD[String] = file.flatMap(_.split(" "))

    //组装

    val wordsAndone: RDD[(String, Int)] = words.map((_,1))

    //分组聚合

    val result: RDD[(String, Int)] = wordsAndone.reduceByKey(_+_)

    //排序

    val result1: RDD[(String, Int)] = result.sortBy(_._2,false)

    //输出

    result1.foreach(println)

  /********* End *********/

    sc.stop()

  }

}

在这里插入图片描述


标签:String,val,scala,python,Scala,RDD,算子,Spark,hello
From: https://blog.csdn.net/2301_77225918/article/details/140419630

相关文章

  • Spark _Exam_ 20240711
    SparkExam20240711Conclusion比较可惜,做前面AB的时候状态不错,但是后面就不行了,C题直接想错了一个点,然后又没有继续想,D题确实不知道一些技巧,但是其实已经凑齐了正解的全部拼图,可以拿到60-70pts.score240|rnk3|est260|ideal360|idealrnk2A.flandreStatement定义一个序列......
  • 2024 年,Hadoop 已经被 Apache Spark 全面取代了吗?
    Hadoop是一个开源的分布式计算平台,能够处理大规模数据集,并且具备高可靠性和可扩展性。Hadoop生态系统庞大,包含了多个组件,如HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系统)、YARN(YetAnotherResourceNegotiator,另一种资源协调者)、Hive、HBase等。这些组件共同构成了......
  • 从新手到高手:Scala函数式编程完全指南,Scala 方法与函数(10)
    1、Scala方法与函数Scala有方法与函数,二者在语义上的区别很小。Scala方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。Scala中的方法跟Java的类似,方法是组成类的一部分。Scala中的函数则是一个完整的对象,Scala中的函......
  • Spark _Exam_ 20240713
    SparkExam20240713Conclusion还可以,没有挂分(反向挂分什么鬼)。数据简直太平洋,T1放掉log,T330变80,T410%的特殊case变成30%的特殊casedp还是很不行,其他方面的思维还可以。A.不相邻集合(a)Statement称可重集合\(S\),若满足\(\forallx\inS,x-1\notinS,x+1\notinS\)......
  • 【读书笔记】《深度神经网络FPGA设计与实现》(孙其功)第三章 深度神经网络基础层算子介
    深度神经网络基础层算子介绍1.卷积算子2.反卷积算子3.池化算子(1)平均池化算子:(2)最大池化算子:4.激活算子5.全连接算子6.Softmax算子7.批标准化算子8.Shortcut算子1.卷积算子基础概念(1)卷积核(Kernel)。图像处理时,对输入图像中一个小区域像素加权......
  • Spark _Exam_ 20240712
    SparkExam20240712Conclusion没有挂分,很好。220/rnk3(outof8)|期望220|理想310其实很多时候过了不代表你就是最优的。A.于是我栽种玫瑰(rose)Statement若对于无向图\(G(V,E)\),其中\(\forallx\in[1,n],ax+b\len\),那么\((x,ax+b)\inE\)。求该图最大独立集大小......
  • Spark Exam 20240710黄洛天
    SparkExam20240710黄洛天0.整体总结时间安排:0-1h,+200pts,1h-4h,+0pts(expected+25pts)A,B较简单。C,D较难。排名4。Acceptable,完全不失误可以拿rnk1,所以还是挺好。D是大数据结构,不太想打(事实上做二维前缀和可以简单地拿到10pts)A.花菖蒲考虑构造完全二叉树,然后多余的1度......
  • Spark
    SparkP6082图是树状的没有必要在向父亲走之后再回到其儿子如果遍历一个节点的n个子树,会消耗1+n次次数(加一次进来)令1节点进入限制是inf故对于一个节点,若它限制进入k次,那么最多遍历他的k-1个子树设遍历x的子树并且回到x的最高收益\(f_x\)那么......
  • Spark24June
    CommentonProblems2024March(Spark.md)本部分是从古老文档Spark.md里摘录的,其余的部分过于像流水账,就不贴了原属于三月的部分下午考题P2573[SCOI2012]滑雪注意到题目是求一个特殊有向图的最小生成树。考虑Prim与Kruskal算法的精髓,实际上是考察了所有可能扩大......
  • spark-submit提交任务时执行流程(简单版)
    yarncluster模式提交spark任务(1)执行脚本提交任务,实际是启动一个SparkSubmit的JVM进程。(2)SparkSubmit类中的main方法反射调用YarnClusterApplication的main方法。(3)YarnClusterApplication创建Yarn客户端,然后向yarn服务器发送执行指令:bin/javaApplicationMaster。(4)Yarn(Resour......