RDD编程初级实践

本文介绍了在Linux环境下使用Spark RDD进行数据处理的实践,包括数据上传、pyspark交互式编程实现成绩统计,以及编写独立应用程序解决数据去重和计算平均分问题。总结了RDD的惰性调用特性及其在实验中的应用。
摘要由CSDN通过智能技术生成

1.需求描述

  本次实验需要基于Linux操作系统,熟悉Spark的RDD基本操作及键值对操作;熟悉使用RDD编程解决实际具体问题的方法。

RDD 是 Spark 提供的最重要的抽象概念,它是一种有容错机制的特殊数据集合,可以分布在集群的结点上,以函数式操作集合的方式进行各种并行操作。 RDD典型的执行过程如下:RDD读入外部数据源(或者内存中的集合)进行创建;RDD经过一系列的“转换”操作,基于现有的数据集创建一个新的数据集;最后一个RDD经“行动”操作进行处理,在数据集上进行运算,返回计算值。

RDD采用了惰性调用,即在RDD的执行过程中,真正的计算发生在RDD的“行动”操作,对于“行动”之前的所有“转换”操作,Spark只是记录下“转换”操作应用的一些基础数据集以及RDD生成的轨迹,即相互之间的依赖关系,而不会触发真正的计算。

 

2.环境介绍

实验环境基于:

虚拟机:Oracle VM VirtualBox

操作系统:Ubuntu16.04

Spark版本:3.1.1

Python版本:3.8.5

Spark 的核心是建立在统一的抽象弹性分布式数据集(Resiliennt Distributed Datasets,RDD)之上的,这使得 Spark 的各个组件可以无缝地进行集成,能够在同一个应用程序中完成大数据处理。Spark最大的特点就是将计算数据、中间结果都存储在内存中,大大减少了IO开销,因而,Spark更适合于迭代运算比较多的数据挖掘与机器学习运算。

 

3.数据来源描述

本次实验数据来源指导老师提供的数据集,每个实验有对应的数据集,三个实验共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的样例如下:

  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值