大数据课程——课后练习3

这篇博客主要介绍了Spark的主要组件,包括Spark Core、Spark SQL、Spark Streaming、MLlib和GraphX的功能。讨论了Spark的部署模式,如本地模式、YARN集群模式和Standalone模式。详细阐述了RDD的概念、创建方式以及转化算子和行动算子的区别。同时,提到了Spark的惰性机制及其优缺点。文章还涵盖了DataFrame与RDD的不同以及如何在Spark中使用SQL进行查询。最后,对比了Spark Streaming与Storm的实时处理差异,并概述了编写Spark Streaming程序的步骤。
摘要由CSDN通过智能技术生成

大数据课程——课后练习3

1.请简述Spark的主要组件及其主要功能。

  • Spark Core:该组件是Spark的核心模块,主要包含两个功能:一是负责任务调度、内存管理、错误恢复与存储系统交互等;二是其包含了对弹性分布式数据集的API定义。它提供了创建和操作这些集合的多个API。

  • Spark SQL:该组件是一个用于结构化数据处理的Spark工具包,提供了面向结构化数据的SQL查询接口,使用户可以通过编写SQL或基于Apache Hive的HiveQL来方便地处理数据。也可以查询Hive中的数据,相当于数据仓库的查询引擎,提供了很强大的计算速度。它还支持开发者将SQL语句融入到Spark应用程序的开发过程中,使得用户可以用SQL语句进行查询和复杂的数据分析。

  • Spark Steaming:该组件是Spark提供的对实时数据进行流式计算的组件,它将流式的计算分解成一系列短小的批处理作业,支持对实时数据流进行可伸缩、高吞吐量、容错的流处理。它还提供了用来操作数据流的API,并且与Spark Core当中的RDD API高度对应,帮助开发人员高效地处理数据流中的数据。且支持与Spark Core同级别的容错性、吞吐量及可伸缩性。Spark Streaming通过将数据流中的数据按指定时间片累计为RDD,然后将每个RDD进行批处理,进而实现大规模的流数据处理。

  • MLib:该组件是Spark的机器学习库。它的目标是使得机器学习具有可拓展性和易用性。其中提供了分类、回归、聚类、协同过滤等常用机器学习算法,以及一系列更加底层的机器学习原语。

  • GraphX:该组件是Spark中图形和图形并行计算的一个新㢟,可以用其创建一个顶点和边都包含任意属性的有向多重图。此外,该组件还包含越来越多的图算法和构建起,以此来简化图形分析任务。

2.Spark的部署模式有哪几种?

一共有三种部署模式:一种是本地(单机)模式;第二种是Yarn集群模式;第三种是Spark自带的Standalone模式。

  • 本地模式:是只运行在一台计算机上,就称为本地模式。
  • Yarn集群模式:Spark On Yarn模式遵循YARN的官方规范,YARN只负责资源的管理和调度,运行哪种应用程序由用户自己实现,因此可能在YARN上同时运行MapReduce程序和Spark程序,YARN很好地对每一个程序实现了资源的隔离。这使得Spark与MapReduce可以运行于同一个集群中,共享集群存储资源与计算资源。
  • Standalone模式:该模式采用经典的Master/Slave架构,资源调度由Spark自己实现。

3.什么是RDD?创建RDD主要由哪几种方式?请举例说明。

RDD是Spark提供的一种对数据的核心抽象,称为弹性分布式数据集(Resilient Distributed Dataset,RDD)。每个RDD被分为多个分区,这些分区运行在集群中的不同节点上。也就是说,RDD是跨集群节点分区的元素集合,并且这些元素可以并行操作。
创建RDD主要有两种方式,一是从文件系统中加载数据创建RDD,二是通过对象集合(数组)创建RDD。
1、从对象集合创建RDD:将一个List集合转化为RDD:

> val rdd = sc.parallelize(List(1,2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值