RDD编程初级实践

RDD编程初级实践


spark的特点

1.快:与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上;而基于磁盘的运算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效地处理数据流。
2.容易使用:Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同应用。而且Spark支持交互式的Python和Scala的Shell,这意味着可以非常方便的在这些Shell中使用Spark集群来验证解决问题的方法,而不是像以前一样,需要打包、上传集群、验证等。这对于原型开发非常重要。
3.通用性:Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(通用Spark SQL)、实时流处理(通过Spark Streaming)、机器学习(通过Spark MLlib)和图计算(通过Spark GraphX)。

一、数据来源、环境介绍

本次实验使用到的数据集:data.txt; A.txt; B.txt; Algorithm.txt; Database.txt; Python.txt。

实验环境:Ubuntu Kylin 16.04;Spark 2.4.8 ;Python 3.1.4

二、实验步骤

1.将文件弄到虚拟机里

因为没有下载安装FinaShell,所以要想把文件弄到虚拟机内只能用qq邮箱传送下载的方法。
在这里插入图片描述

2.配置pyspark环境

放两个链接
http://dblab.xmu.edu.cn/blog/2501-2/
http://dblab.xmu.edu.cn/blog/2427-2/
按照里面的做就可以了

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

3.数据处理过程与结果

该处使用的url网络请求的数据。


(1)处理data.txt文件

该数据集包含了某大学计算机系的成绩,我们提取成绩要在pyspark shell界面中通过编程来操作,并且要通过输入pyspark来直接进入,不能通过上面例子中检测pyspark能否运行的方法:
在这里插入图片描述
这种事不行的

在这里插入图片描述
*要用这种

下面开始处理文件:

1.该系总共有多少学生
在这里插入图片描述

代码如下(示例):

lines = sc.textFile("file:///usr/local/spark/data.txt")

res = lines.map(lambda x:x.split(",")).map(lambda x:x[0])

sum = res.distinct()

sum.count()

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

代码如下(示例):

在这里插入图片描述

lines = sc.textFile("file:///usr/local/spark/data.txt")

res = lines.map(lambda x:x.split(",")).map(lambda x:x[1])

sum = res.distinct()

sum.count()

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值