Spark的概述、核心、组成、运行模式

一、Spark概述

        Apache Spark 是一个快速的, 多用途的集群计算系统, 相对于 Hadoop MapReduce 将中间结果保存在磁盘中, Spark 使用了内存保存中间结果, 能在数据尚未写入硬盘时在内存中进行运算。Spark 是一个计算框架,可以用来代替Hadoop中的MapReduce计算框架。

二、Spark的作用与核心

      由来:Spark 是为了解决 MapReduce 等过去的计算系统无法在内存中保存中间结果的问题,

      核心:Spark 的核心是 RDDs, RDDs 不仅是一种计算框架, 也是一个可以容错且并行的数据结构, 它可以让用户显式的将中间结果数据集保存在内中, 并且通过控制数据集的分区来达到数据存放处理最优化。

三、Spark组成

1、spark-core

       Spark 最核心的功能是 RDDs(弹性分布式数据集), RDDs 存在于 spark-core 这个包内, 这个包也是 Spark 最核心的包.

2、Spark SQL

(1)Spark SQL 在 spark-core 基础之上带出了一个名为 DataSet 和 DataFrame 的数据抽象化的概念

(2)Spark SQL 提供了在 Dataset 和 DataFrame 之上执行 SQL 的能力

(3)Spark SQL 提供了 DSL, 可以通过 Scala, Java, Python 等语言操作 DataSet 和 DataFrame

(4)它还支持使用 JDBC/ODBC 服务器操作 SQL 语言

3、Spark Streaming

(1)Spark Streaming 充分利用 spark-core 的快速调度能力来运行流分析

(2)它截取小批量的数据并可以对之运行 RDD Transformation

(3)它提供了在同一个程序中同时使用流分析和批量分析的能力

4、MLlib 

       MLlib 是 Spark 上分布式机器学习的框架,可以使用许多常见的机器学习和统计算法, 简化大规模机器学习

5、GraphX

      GraphX 是分布式图计算框架, 提供了一组可以表达图计算的 API, GraphX 还对这种抽象化提供了优化运行。

四、Spark的四种运行模式

1、Local

       用于本地开发和测试。在这种模式下,Spark 程序将 master 设置为 local 或者 local[n],使得所有的代码都在同一个 JVM 中运行。

2、Standalone

        这是 Spark 自带的集群管理模式,不依赖外部资源管理器。在这种模式下,一个 Spark 集群由 Master 和 Worker 进程组成,其中 Master 负责资源分配管理,Worker 负责运行 Executor。

3、YARN

        在这种模式下,Spark 应用程序运行在 YARN集群上,YARN 负责管理整个集群资源。YARN 模式下又分为两种部署模式:yarn-client 和 yarn-clusteryarn-client 中 Driver 运行在本地客户端,而 yarn-cluster 中 Driver 运行在 YARN 集群中。

4、Mesos

       在这种模式下,Spark 的资源管理从 Standalone 的 Master 转移到 Mesos Manager 中。Mesos 是一种资源调度管理框架,负责为运行在其上的 Spark 提供服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FIFO-Diffusion,一个无需额外训练即可生成长视频的框架。通过确保每个帧引用足够多的先前帧来生成高质量、一致的长视频。

简单来讲,FIFO-Diffusion先通过一些模型如VideoCraft2、zeroscope、Opem-Sora Plan等与FIFO-Diffusion的组合生成短视频,然后取结尾的帧(也可以取多帧),再用这一帧的图片生成另一段短视频,然后拼接起来。FI…

【MySQL精通之路】存储引擎-MySQL8.0中的差异

存储引擎是MySQL组件,用于处理不同表类型的SQL操作。 InnoDB是默认的、最通用的存储引擎,Oracle默认使用其创建表。(MySQL 8.0中的CREATE TABLE语句默认创建InnoDB表。) MySQL Server使用可插拔存储引擎体系结构,使存储…

linux命令日常使用思考

linux命令日常使用思考 复制的相关问题scp和cp的区别root192.168.5.229-r的理解 更新版本的相关问题svn info 根目录和家目录的区别根目录家目录 复制的相关问题 scp和cp的区别 安全性:SCP 是基于 SSH 的加密传输协议,可以保证数据在传输过程中的安全性…

vue期末复习选择题1

1. 下面哪一项描述是错误的?(B) A.$("ul li:gt(5):not(:last)")选取ul标记里面索引值大于5且不是最后一个的li元素B.$("div").find("span")选取div元素的子元素spanC.$("div.showmore > a")选取…

Axure RP 9 for Mac/win:重新定义交互原型设计的未来

在当今数字化时代,交互原型设计已成为产品开发中不可或缺的一环。Axure RP 9作为一款功能强大的交互原型设计软件,凭借其出色的性能和用户友好的界面,赢得了广大设计师的青睐。 Axure RP 9不仅支持Mac和Windows两大主流操作系统,…

Excel实现将A列和B列的内容组合到一个新的列(例如C列)中,其中A列的每个值都与B列的所有值组合。

利用Excel中vba代码宏实现 原始数据: 自动生成后数据: vba实现代码: Sub CombineColumns()Dim ws As WorksheetDim lastRowA As Long, lastRowB As Long, i As Long, j As LongDim MyIndex As IntegerDim strCombine As String, strColA As…

主流容器工具对比以及重点推荐学习的企业级工具

常见的主流容器工具包括但不限于以下几种: 1. Docker: Docker 是最流行的容器平台之一,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后可以在任何支持Docker的系统上运行。 2. Kubernetes:Kubern…

【Python】 去除字符串中的所有空白字符

基本原理 在Python中,字符串(String)是不可变的数据类型,这意味着一旦创建了一个字符串,就不能修改它的内容。然而,我们可以创建一个新的字符串,它包含原始字符串中的字符,但不包含…

局域网传文件怎么操作?轻松实现文件共享!

在现代的办公和生活中,局域网传文件已经成为一种非常常见和方便的方式,可以快速、安全地在局域网内进行文件传输。无需依赖互联网,局域网传文件可以帮助团队成员之间共享文件、备份数据、进行协作等。本文将介绍三种常见的方法,帮…

MySQL——存储过程,触发器

BaiduComate: # 问题1: # 问题1: 帮我创建两个表student与score表,要求student表有id,createDate,userName,phone,age,sex,introduce, 要求score表有id&…

Vue3实战Easy云盘(四):使用空间+文件预览+文件分享+文件下载

一、空间使用 Framework.vue中 (1)引入接口 const api {getUseSpace: "/getUseSpace",logout: "/logout", }; (2)回调 // 使用空间 const useSpaceInfo ref({ useSpace: 0, totalSpace: 1 }); const g…

达梦数据库和Oracle对比

达梦数据库和Oracle对比 达梦数据库(DM)是中国自主研发的一款数据库管理系统,在功能和应用上与 Oracle 数据库有诸多类似,但也有其独特的特点。以下是对达梦数据库(DM)和 Oracle 数据库的详细对比&#xf…

unreal engine 5.0.3 创建游戏项目

根据虚幻官网介绍,虚幻引擎5可免费用于创建线性内容、定制项目和内部项目。你可以免费用它开发游戏,只有当你的产品营收超过100万美元时,才收取5%的分成费用。所以目前国内也有许多游戏厂商在使用UE制作游戏。UE5源码也已开源,有U…

[数据集][目标检测]吸烟检测数据集VOC+YOLO格式1449张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1449 标注数量(xml文件个数):1449 标注数量(txt文件个数):1449 标注…

huggingface笔记:LLama 2

1 前提tip 1.1 使用什么数据类型训练模型? Llama2模型是使用bfloat16训练的 上传到Hub的检查点使用torch_dtype float16,这将通过AutoModel API将检查点从torch.float32转换为torch.float16。在线权重的数据类型通常无关紧要,这是因为模型…

QT 使用QZipWriter进行文件压缩

目录 1、QZipWriter 2、主要功能 3、示例 1、QZipWriter QZipWriter 是 Qt 提供的一个类,用于创建和管理 ZIP 文件。它属于 Qt 的 QtGui 模块,虽然在 Qt 6 中已经被移除,但在早期的 Qt 版本中,它被用作一种简便的方式来创建 ZI…

CMMI模型的分析

CMMI模型的分析 CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是由美国卡内基梅隆大学软件工程研究所(SEI)开发的一个过程级改进训练和评估程序。CMMI模型为组织提供了一套综合的指南,用于改进其过程和提升性能。 CMMI 3.0是CMMI模型的最新版本,于…

AWS计算之AWS Elastic Beanstalk

AWS Elastic Beanstalk是一项用于简化应用程序部署和管理的托管服务。它允许开发人员上传他们的应用程序代码,并自动处理底层的部署、扩展、负载均衡和监控任务,从而使开发人员能够专注于应用程序的开发而不必担心基础架构的管理细节。 借助Elastic Bea…

机器学习300问】95、什么是KNN算法?它和K-means什么关系?

一、KNN算法的定义 KNN(K-Nearest Neighbors)算法,是一种简单而有效的监督学习方法。它既可以用在分类任务,也可用在回归任务中。KNN算法的核心思想:在特征空间中,如果有一个数据点周围的大多数邻居属于某个…

5. JVM面试题汇总

Java全栈面试题汇总目录-CSDN博客 1. 说一下JVM的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。 Cl…