赞
踩
本次实验需要基于Linux操作系统,熟悉Spark的RDD基本操作及键值对操作;熟悉使用RDD编程解决实际具体问题的方法。
RDD 是 Spark 提供的最重要的抽象概念,它是一种有容错机制的特殊数据集合,可以分布在集群的结点上,以函数式操作集合的方式进行各种并行操作。 RDD典型的执行过程如下:RDD读入外部数据源(或者内存中的集合)进行创建;RDD经过一系列的“转换”操作,基于现有的数据集创建一个新的数据集;最后一个RDD经“行动”操作进行处理,在数据集上进行运算,返回计算值。
RDD采用了惰性调用,即在RDD的执行过程中,真正的计算发生在RDD的“行动”操作,对于“行动”之前的所有“转换”操作,Spark只是记录下“转换”操作应用的一些基础数据集以及RDD生成的轨迹,即相互之间的依赖关系,而不会触发真正的计算。
实验环境基于:
虚拟机:Oracle VM VirtualBox
操作系统:Ubuntu16.04
Spark版本:3.1.1
Python版本:3.8.5
Spark 的核心是建立在统一的抽象弹性分布式数据集(Resiliennt Distributed Datasets,RDD)之上的,这使得 Spark 的各个组件可以无缝地进行集成,能够在同一个应用程序中完成大数据处理。Spark最大的特点就是将计算数据、中间结果都存储在内存中,大大减少了IO开销,因而,Spark更适合于迭代运算比较多的数据挖掘与机器学习运算。
本次实验数据来源指导老师提供的数据集,每个实验有对应的数据集,三个实验共6个实验数据文件,如下文所示:
实验一,提供分析数据data.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示:
Tom,DataBase,80 Tom,Algorithm,50 Tom,DataStructure,60 Jim,DataBase,90 Jim,Algorithm,60 Jim,DataStructure,80 …… |
实验二,提供了两个输入文件(A.txt、B.txt),编写下面是输入文件和输出文件的一个样例:
输入文件A的样例如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。