大数据实验报告七 Spark

本文详细介绍了Spark的基本概念、特点、编程模型以及Scala编程在Spark中的应用。Spark相较于Hadoop MapReduce提供了更快的数据处理速度,尤其适合数据挖掘和机器学习的迭代算法。文章还涵盖了Spark的RDD核心概念、Spark程序的编写以及Scala环境的搭建,包括安装Scala、Spark,使用Spark Shell进行数据处理,最后通过Scala实现WordCount程序展示了Spark的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Spark是什么?

Spark,是一种通用并行分布式大数据计算框架,2009年由加州大学的伯克利分校的AMP实验室开发,它是当前大数据领域最活跃的开源项目之一,它基于MapReduce算法的分布式计算,拥有MapReduce的所有的优点。它将操作过程的中间结果放于内存中,所以不需要读写HDFS,能更好的适用于数据挖掘和机器学习的迭代算法。

Spark被称为快数据,它于Hadoop的传统计算方式MapReduce相比快100倍,它还支持多语言。

Spark相关介绍可参照   大数据之谜Spark基础篇,Spark是什么

                                      大数据学习:Spark是什么,如何用Spark进行数据分析

二.Spark好在哪里?

Spark的中间数据放到内存中,所以不需要读写HDFS,更好的适用于数据挖掘和机器学习的迭代算法。

Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark里面,有RDD的抽象概念。

Spark比Hadoop更通用 Spark提供的数据集操作类型有很多。

Spark开发者可以快速的用Java、Scala或Python编写程序,并且它也在开发R语言。

Spark优势认知相关介绍  Spark的好处及优势

                                        Spark与Hadoop相比的优缺点

三.Spark编程模型

1.运用程序

111511034107511.jpg (484×227)

Spark应用程序分为两个部分:Driver部分和Executor部分

2.运行流程

四.RDD

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark最核心的东西,也是最基本的抽象,它表示一个不可变、可分区、里面的元素可并行计算的集合。不同的数据集格式对应不同的RDD实现。RDD必须是可序列化的。RDD可以cache到内存中,每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了MapReduce大量的磁盘IO操作。这对于迭代运算比较常见的机器学习算法, 交互式数据挖掘来说,效率提升非常大。

Spark计算模型RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将数据缓存在内存中,后续的查询能够重用这些数据,这极大地提升了查询速度。 

RDD模型

常用的Transformation:

转换

含义

map(func)

返回一个新的RDD,该RDD由每一个输入元素经过func

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值