RDD编程初级实践

这篇博客介绍了Spark RDD的基本操作,通过pyspark进行交互式编程,实现了数据去重和求平均值的问题。首先,展示了如何使用textFile()方法加载数据,应用filter(), map(), flatMap(), groupByKey(), reduceByKey()等函数进行数据处理。接着,详细说明了如何编写独立应用程序,分别处理数据去重和计算平均成绩的问题。在数据去重部分,通过union()和distinct()操作合并并去除重复项。在计算平均成绩部分,通过reduceByKey()计算每个学生的平均分数。实验数据来源于模拟的大数据课程实验文件,包括学生姓名、学科和分数。" 137661879,22836752,Spring Boot2 验证码实现与安全过滤器,"['spring', 'spring boot', '后端', '安全']
摘要由CSDN通过智能技术生成
  1. 需求描述

        RDD是Spark的核心概念,它是一个只读的,可分区的分布式数据集,这个数据集可全部或部分缓存在内存中,在多次计算间重用。首先,通过对RDD编程初级实践的练习,我们会通过spark采用textFile()方法来从文件系统中加载数据创建RDD、各种操作API以及持久化和分区方法;其中,需要注意常用的RDD转换操作API:filter(func)、map(func)、flatMap(func)、groupByKey()、reduceByKey(func)等高阶函数;filter(func)操作会筛选出满足函数func的元素,并返回一个新的数据集;map(func)操作将每个元素传递到函数func中,并将结果返回为一个新的数据集;flatMap(func)与map()相似,但每个元素都可以映射到0或多个输出结果;reduceByKey(func)应用于(K,V)键值对的数据集时,返回一个新的(K,V)形式的数据集,其中的每个值是将每个key传递到函数func中进行聚合后得到的结果然后,介绍键值对RDD的各种操作,并给出了把RDD写入文件以及从文件中读取数据生成RDD的方法;进而学习并能熟悉掌握RDD编程的初级操作。

  1. 环境介绍

Oracle VM VirtualBox

操作系统:Ubuntu16.04、台式电脑win10系统、Ubantu

Spark版本:2.4.0

Python版本:3.4.3

  1. 数据来源描述

由老师分发的2020-2021(1)-大数据应用技术课程实验-期末大作业文件,里面包含data.txt文档是用于pyspark交互式编程实验的数据,由姓名、学科、分数组成;A.txt、b.txt文档是用于编写独立应用程序实现数据查重的实验数据,由学号和字母组成,可用于查重的实验操作;最后Algorithm.txt、Database.txt、Python.txt等文档是用于编写独立应用程序实现求平均值问题的实验,由各个学科每个人的姓名和分数组成。实验数据是通过模拟现实生活得到的数据,具有一定的真实性,使实验更贴近生活,以后能够更好的应用于生活。

  1. 数据上传及上传结果查看 

 

  1. 数据处理过程描述

1)pyspark交互式编程

本作业提供分析数据data.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示:

Tom,DataBase,80

Tom,Algorithm,50

Tom,DataStructure,60

Jim,DataBase,90

Jim,Algorithm,60

Jim,DataStructure,80

……

请根据给定的实验数据,在pyspark中通过编程来计算以下内容:

  1. 该系总共有多少学生;

  1. 该系共开设了多少门课程;

  1. Tom同学的总成绩平均分是多少;

  1. 求每名同学的选修的课程门数;

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值