Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型

Hadoop “回顾”

Hadoop “回顾”

Hadoop 分布式基础架构

  1. mapReduce 处理大数据分析

  2. HDFS 存储分布式节点的文件

  3. Hive 转换数据库表 提供SQL

    并非数据库,只是转换为数据库表

    在其转换为数据库表后,使用MapReduce进行数据分析

  4. Hbase NoSQL类型的数据库,支持随机读写

  5. yarn 资源管理器

Spark简介

目标知识点记忆理解应用分析评价创新
Spark 计算模型O
Spark 与 MapReduceOO
Spark 生态系统OO
Spark 应用案例O

1.1 概念

  1. Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,基于MapReduce开发,由于数据读取基于内存而非磁盘,从而不需要读写HDFS,所以速度会高于MapReduce的,更适用于机器学习和数据挖掘等需要迭代的MapReduce的算法(迭代会导致反复读写)
  2. Spark是使用Scala语言实现的,这是一种面向对象,函数式编程语言,能够像操作本地集合对象一样轻松的操作分布式数据集,并提供一个全名的Actor的并行模型
  3. Spark可以运行于Hadoop集群中,可以使用多种数据源

1.2 Spark的特点

  1. 运行速度块

    拥有DAG( Directed Acyclic Graph 有向无环图)执行引擎,比hadoop的MapReduce内存运算快100倍,硬盘运算快10倍以上

  2. 易用性好

  3. 通用性强

    Spark生态圈BDAS包含了丰富的组件,提供一站式解决平台

  4. 随处运行

    具有很强的适应性,可以使用多种资源管理器来调度Job,可以访问多种数据源

1.3 DAG有向无环图

在这里插入图片描述

在这里插入图片描述

Spark的计算模型

2.1.1 计算模型

基于Spark的程序,包含了一个Driver Programi和集群中多个Executor。由Cluster Manager将执行单元Task送到Executor.上执行,每个Job会被拆成多组Task,每组任务称为Stage。Spark的基本计算单元是RDD。

在这里插入图片描述

2.1.2 运行架构

在这里插入图片描述

2.1.3 计算引擎

在这里插入图片描述

2.2 Spark的基本计算单元

RDD

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升查询速度。
在这里插入图片描述

弹性分布式数据集(RDD)是spak最基本的编程抽象,而且是只读,可分区的,可以进行并行计算的对象。
数据集:

  • 是一个数据集合,用于存放数据的。RDD是一个数据容器,用来组织管理数据的。跟Ary和List类似,并且都能够进行map、flatMap、filter等操作。

分布式:

  • RDD中的数据是分布式存储的,可用于分布式计算,RDD的数据是分布存储的,也就是Spak集群中每个节点上只存储了RDD的部分数据,计算同样也是分布式并行计算的。

弹性:

  • 存储的弹性:RDD的数据可以在内存和磁盘之间进行自由切换。

  • 可靠性的弹性:RDD的在丢失数据时能够自动恢复,RDD在计算过程中会出现失败的情况,失败以后会进行一定次数的重试(4次)。

  • 并行度的弹性:RDD的数据分区可以改变,进而增加并行计算的粒度。

依赖关系

RDD之间有两种不同类型的依赖关系:窄依赖和宽依赖。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: spark-3.3.0-bin-hadoop3.tgz和spark-3.3.0-bin-without-hadoop.tgz是Apache Spark开源项目提供的两种软件包。它们都是用于在分布式计算环境中进行大规模数据处理和分析的工具。 spark-3.3.0-bin-hadoop3.tgz包含了Apache Spark的二进制文件以及Hadoop分布式文件系统的依赖库。Hadoop是一个开源的分布式计算框架,它提供了分布式存储和处理大规模数据的能力。如果你计划在Hadoop集群上运行Spark应用程序,那么你应该选择这个软件包。 spark-3.3.0-bin-without-hadoop.tgz是一个独立的Spark软件包,没有包含Hadoop依赖库。如果你已经在你的系统上配置了Hadoop环境,或者你想在其他分布式文件系统上运行Spark应用程序,那么你可以选择这个软件包。 在选择软件包时,你应该根据你的需求和环境来决定。如果你已经有了Hadoop环境并且想在上面运行Spark应用程序,那么应该选择spark-3.3.0-bin-hadoop3.tgz。如果你只是想在单机或其他分布式文件系统上运行Spark应用程序,那么可以选择spark-3.3.0-bin-without-hadoop.tgz。 ### 回答2: spark-3.3.0-bin-hadoop3.tg和spark-3.3.0-bin-without-hadoop.tgz是Apache Spark的不同版本的压缩文件。 spark-3.3.0-bin-hadoop3.tg是包含了Apache Hadoop版本3.x的已编译的Apache Spark版本。Apache Spark是一个开源的分析引擎,用于处理大规模数据计算和分析。它支持并行处理,能够在大规模集群上进行分布式计算任务的执行。而Apache Hadoop是一个用于处理大数据的开源框架,它提供了分布式存储和计算的能力。因此,当使用spark-3.3.0-bin-hadoop3.tg时,可以方便地在与Hadoop版本3.x兼容的环境中使用Apache Spark,并且可以充分利用Hadoop的优势。 spark-3.3.0-bin-without-hadoop.tgz是不包含Apache Hadoop的已编译Apache Spark版本。这个版本适用于用户已经在集群中安装了独立的Hadoop环境,或者希望使用其他版本的Hadoop的情况。通过使用spark-3.3.0-bin-without-hadoop.tgz,用户可以自由选择与他们的Hadoop环境兼容的Spark版本,并且可以更容易地进行集成和调试。 总之,spark-3.3.0-bin-hadoop3.tg和spark-3.3.0-bin-without-hadoop.tgz是Apache Spark的不同版本的压缩文件,分别适用于已安装了Hadoop版本3.x的环境和希望使用其他版本Hadoop或已有独立Hadoop环境的用户。用户可以根据自己的需求选择对应的版本进行安装和使用。 ### 回答3: spark-3.3.0-bin-hadoop3.tg 和 spark-3.3.0-bin-without-hadoop.tgz 是两个版本的 Apache Spark 软件包。 spark-3.3.0-bin-hadoop3.tg 是一个含有 Hadoop 的 Apache Spark 软件包。Hadoop 是一个用于处理大规模数据的开源框架,它提供了分布式存储和计算的能力。这个软件包的目的是为了与 Hadoop 3.x 版本兼容,它包含了与 Hadoop 的集成以及针对分布式存储和计算的优化。如果你想要在已经安装了 Hadoop 3.x 的集群上使用 Apache Spark,这个软件包将是一个好的选择。 另一方面,spark-3.3.0-bin-without-hadoop.tgz 是一个不包含 Hadoop 的 Apache Spark 软件包。这个软件包主要用于那些已经在集群中运行了其他的大数据处理框架(如 Hadoop、Hive 等)的用户。如果你的集群已经配置好了其他的大数据处理框架,而且你只需要 Spark计算引擎,那么这个软件包会更加适合你。 无论你选择哪个软件包,它们都提供了 Apache Spark 的核心功能,例如分布式计算、内存计算、数据处理、机器学习等。你可以根据你的实际需求和环境选择合适的软件包进行安装和配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值