Spark知识点总结

本文详细总结了Spark的核心知识,包括Spark架构、RDD的特性与操作、Spark SQL中的DataFrame和DataSet以及Spark Streaming的Kafka数据源处理。讨论了RDD的转化和行动操作、累加器与广播变量,以及Spark SQL的join实现。此外,还介绍了Spark Streaming的有状态计算、检查点机制和容错机制。
摘要由CSDN通过智能技术生成

一、架构图

从物理部署层面上来看,Spark主要分为两种类型的节点,Master节点和Worker节点,Master节点主要运行集群管理器的中心化部分,所承载的作用是分配Application到Worker节点,维护Worker节点,Driver,Application的状态。Worker节点负责具体的业务运行。

在这里插入图片描述

二、Spark Core

RDD概念

RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。
RDD支持两种操作:转化操作(transformation)行动操作(action)。
Spark采用惰性计算模式,RDD只有第一次在一个行动操作中用到时,才会真正计算。

RDD属性

  1. 一组分片(Partition):数据集的基本组成单位,每个分片都会被当成一个计算任务(并行度);
  2. 一个计算每个分区的函数:RDD的计算是以分片为单位的,每个RDD都会实现compute函数以达到这个目的,通过该函数获取当前的RDD;
  3. RDD之间的依赖关系:RDD前后依赖关系;
  4. 一个Partitioner:即RDD的分片函数,一个是基于哈希的HashPartitioner,另外一个是基于范围的RangePartitioner。只有对于于key-value的RDD,才会有Partitioner;
  5. 一个列表:存储存取每个Partition的优先位置(preferred location);

cache、persist、checkpoint的区别:
1)cache底层调用的是persist方法,存储等级只可以是:memory only;
2)pe

Hadoop和Spark是大数据处理领域中最流行的两个框架。以下是它们的知识点整理汇总: Hadoop: 1. Hadoop是一个开源的分布式计算框架,用于存储和处理大规模数据集。 2. Hadoop包括两个核心组件:HDFS(Hadoop分布式文件系统)和MapReduce(分布式计算框架)。 3. HDFS是一个分布式文件系统,用于存储大规模数据集。它将数据分成块并存储在不同的节点上,以实现数据的高可靠性和可扩展性。 4. MapReduce是一种分布式计算框架,用于处理大规模数据集。它将数据分成小块并在不同的节点上并行处理,以实现高效的数据处理。 5. Hadoop还包括其他组件,如YARN(资源管理器)和HBase(分布式NoSQL数据库)。 Spark: 1. Spark是一个快速、通用、可扩展的分布式计算框架,用于处理大规模数据集。 2. Spark的核心组件是Spark Core,它提供了分布式任务调度、内存计算和数据处理功能。 3. Spark还包括其他组件,如Spark SQL(用于结构化数据处理)、Spark Streaming(用于实时数据处理)和MLlib(用于机器学习)。 4. Spark使用RDD(弹性分布式数据集)作为其基本数据结构,它是一个可分区、可并行计算和可恢复的数据集合。 5. Spark支持多种编程语言,如Scala、Java、Python和R。 总结: Hadoop和Spark都是用于处理大规模数据集的分布式计算框架,它们有不同的核心组件和特点。Hadoop主要用于存储和处理大规模数据集,而Spark则更加注重数据处理的速度和效率。在实际应用中,可以根据具体需求选择合适的框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值