深入理解Spark

目录

1、Spark介绍

1.1、什么是Spark

1.2、与Hadoop 相比优势

1.3、Spark 几种运行模式

2、弹性分布式数据集RDD

3、分布式的数据集合DataFrame(Spark SQL,类似于表)

4、 Spark Streaming原理

5、Spark Streaming和Apache Flink区别


1、Spark介绍

1.1、什么是Spark

Spark 是一个快速、通用的大数据处理引擎,提供了高效的数据处理能力,基于内存的计算。

1.2、与Hadoop 相比优势

(1)计算模型不同

Spark直接基于内存计算;Hadoop 使用基于磁盘的存储和 MapReduce 计算模型,数据需要频繁地在磁盘和内存之间进行读写

(2)数据处理能力不同

 Spark 不仅支持批处理,还支持流处理、交互式查询;Hadoop 只支持批处理任务

(3) API 和语言支持不同

Spark支持多种语言包括Java、Ptthon等;Hadoop 只支持Java

(4)容错性不同
Spark 使用弹性分布式数据集RDD进行容错处理,可以在计算过程中自动进行故障恢复;而 Hadoop 则使用 HDFS分布式文件系统 进行数据的容错处理

1.3、Spark 几种运行模式

(1)Local 本地模式
在本地模式下,Spark 会在单个 JVM 进程中运行,适合于在开发阶段进行快速的原型开发和调试

(2)Standalone 独立模式
使用 Spark 自带的资源管理器,可以将 Spark 集群作为一个整体来进行资源管理和任务调度

(3)YARN 资源调度模式
Spark 可以与 Apache Hadoop 的资源调度框架 YARN 集成,利用 YARN 来管理集群资源和执行任务。这种模式通常在 Hadoop 生态系统中使用

(4) Mesos 分布式资源模式
Mesos 是一个分布式资源管理器

(5)Kubernetes 模式
最近版本的 Spark 也开始支持在 Kubernetes 上运行,这样可以更方便地在 Kubernetes 集群中部署和管理 Spark 应用程序

2、弹性分布式数据集RDD

RDD是一个不可变的、可分区的、并行计算的数据集合。它是 Spark 基于分布式计算的核心数据模型;

RDD 可以从外部数据源(如 HDFS、HBase、本地文件系统等)或者其他 RDD 派生出来,可以通过一系列的转换操作(如 map、filter、reduce、join 等)来进行处理。

3、分布式的数据集合DataFrame(Spark SQL,类似于表)

是 Spark SQL 中的一个概念,与 RDD 不同,DataFrame 具有一种更为结构化的数据表示形式,可以通过列名和类型来定义数据的结构。支持 SQL 查询、数据筛选、聚合操作

4、 Spark Streaming原理

用于实时流式数据处理。能够将实时数据流转换为一系列的微小批次数据,然后使用Spark的批处理引擎进行处理和分析

(1) 实时数据流数据输入:来自各种来源,比如Kafka

(2)数据划分:将实时数据流划分成一系列的微批次数据

(3)微批处理:
   Spark Streaming将每个微批次数据转换成RDD弹性分布式数据集,然后使用Spark的批处理引擎进行处理。这意味着可以使用常规的Spark操作来处理流式数据,比如map、reduce、join等。

(4) 数据输出:处理完成后的结果可以输出到文件系统、数据库等目标

(5)容错处理:内置了容错机制,能够在工作节点故障时保证数据不丢失

5、Spark Streaming和Apache Flink区别

(1)处理模型不同
Spark Streaming使用微批处理模型;Flink采用基于事件时间的流式处理模型,能够实现真正的流式处理,支持连续的事件处理和低延迟。它能够提供毫秒级的处理延迟。

(2)状态处理不同
在Spark Streaming中,状态处理是基于RDD的转换和操作来实现的,需要手动处理状态的保存和恢复;Flink内置了对状态的支持,能够自动管理和维护状态。

(3)容错性不同
Spark Streaming使用批处理引擎来处理流式数据,容错性依赖于Spark的批处理引擎。Flink本身具备容错性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值