大数据Spark(五十六):Spark生态模块与运行模式

文章目录
Spark生态模块与运行模式
一、Spark生态模块
二、Spark运行模式
Spark生态模块与运行模式
一、Spark生态模块
Spark 生态模块包括:SparkCore、SparkSQL、SparkStreaming、StructuredStreaming、MLlib 和 GraphX。与 Hadoop 相关的整个技术生态如下所示:
+-------------------+ +-------------------+| Spark 应用层 | | Hadoop 应用层 |+-------------------+ +-------------------+| Spark SQL | <-->| Hive | (兼容 HiveQL, 元数据共享)| StructuredStreaming| <->| Kafka/Flume | (流数据源集成)| MLlib | <-->| HDFS/HBase | (读取训练数据/存储模型)| GraphX | <-->| HDFS | (图数据存储)+-------------------+ +-------------------+↓ ↓+---------------------------------------------------+| Spark 计算引擎层 (Spark Core) || (替代 MapReduce,运行于 YARN/Mesos/K8s 资源层) |+---------------------------------------------------+↓ ↓+-------------------+ +-----------------------+| Hadoop 资源管理层 | | Hadoop 分布式存储层 || YARN | | HDFS || (资源调度与分配) | | (数据持久化存储) |+-------------------+ +-----------------------+↓ ↓+---------------------------------------------------+| 底层基础设施(物理/虚拟化集群) |+---------------------------------------------------+
下面分别介绍Spark各个模块功能。
- SparkCore
Spark Core 是 Spark 的核心模块,提供了基本的功能和 API,包括任务调度、内存管理、故障恢复等,它实现了弹性分布式数据集(RDD)的概念,支持对分布式数据集的并行操作,Spark其他模块都是基于 Spark Core 构建。
- SparkSQL
Spark SQL 模块用于处理结构化数据,支持使用标准SQL 进行数据分析、查询,SparkSQL中还提供了 DataFrame 和 Dataset API,方便开发者以声明式方式操作数据。此外,Spark SQL 还支持与 Hive 的集成,可以直接查询 Hive 仓库中的数据。
- SparkSteaming
SparkStreaming 是基于 SparkCore 模块实现的,用于实时处理流数据的模块。它将实时数据流分成小批次,然后通过类似于 Spark Core 的 API 进行准实时数据处理。
- StructuredStreaming
StructuredStreaming 是基于 SparkSQL 模块构建的可扩展且容错的流处理模块。它提供了一种统一的编程模型,使开发者能够以 SQL 方式编写流式计算操作,可以轻松地对流数据进行转换、聚合和分析。
- MLlib
MLlib 模块是 Spark 的机器学习库,提供了常用的机器学习算法和工具,如分类、回归、聚类、协同过滤等。它利用 Spark 的分布式计算能力,能够处理大规模数据集上的机器学习任务。
- GraphX
GraphX 模块用于图计算,提供了用于表示图和执行图操作的 API。它支持常见的图算法,如 PageRank、连接组件等,方便开发者进行复杂的图数据分析。
二、Spark运行模式
Apache Spark 提供了多种运行模式,以适应不同的开发、测试和生产环境需求。这些模式包含Local Mode、Standalone Mode、Spark On Yarn、Spark On Mesos、Spark On K8s,下面分别介绍。
- 本地模式(Local Mode)
在本地模式下,Spark 应用程序在单台机器上运行,利用多线程模拟分布式计算。此模式适用于开发和测试阶段,方便调试和验证应用程序逻辑。可以通过指定线程数来控制并行度,例如:local[4] 表示使用 4 个线程。
- 独立模式(Standalone Mode)
Standalone 模式是 Spark 自带的资源调度系统,无需依赖外部集群管理器。在此模式下,集群由一个主节点(Master)和多个工作节点(Worker)组成。应用程序提交到主节点后,主节点负责将任务分配给各个工作节点执行。此模式适用于中小型集群,配置和管理相对简单。
- YARN 模式(Spark on YARN)
在 YARN 模式下,Spark 运行在 Hadoop 的 YARN(Yet Another Resource Negotiator)集群管理器上。YARN 提供资源管理和作业调度功能,使 Spark 能够与其他大数据应用程序共享集群资源。此模式适用于已经部署了 Hadoop 集群的环境,便于资源的统一管理。
- Mesos 模式(Spark on Mesos)
Mesos 是一个分布式系统内核,可用于管理集群资源。在 Mesos 模式下,Spark 可以与其他框架(如 Apache Hadoop、Apache Storm)共享集群资源,实现资源的高效利用。此模式在国外使用居多。
- Kubernetes 模式(Spark on Kubernetes)
Kubernetes 是一个开源的容器编排平台。在 Kubernetes 模式下,Spark 应用程序以容器的形式运行,Kubernetes 负责容器的调度和管理。此模式适用于已经采用容器化技术的环境,提供了更好的弹性和可移植性。
在实际Spark开发中,Spark运行模式使用最多的是基于Yarn。
- 📢博客主页:https://lansonli.blog.csdn.net
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
相关文章:
大数据Spark(五十六):Spark生态模块与运行模式
文章目录 Spark生态模块与运行模式 一、Spark生态模块 二、Spark运行模式 Spark生态模块与运行模式 一、Spark生态模块 Spark 生态模块包括:SparkCore、SparkSQL、SparkStreaming、StructuredStreaming、MLlib 和 GraphX。与 Hadoop 相关的整个技术生态如下所示…...
Postman 7.3.5 旧版下载指南(Win64)及注意事项
Postman-win64-7.3.5-Setup 是 Postman 的一个旧版本(2019年发布,适用于 Windows 64位系统)。以下是相关信息和建议: 1. Postman 7.3.5 版本说明 功能:用于 API 开发、测试和协作。 系统要求:Windows 64位…...
人工智能在自然语言处理中的应用:从理论到实践的探索
自然语言处理(Natural Language Processing,NLP)一直是人工智能领域的重要研究方向。随着深度学习技术的飞速发展,NLP在近年来取得了突破性进展,从文本生成到机器翻译,从情感分析到智能问答,自然…...
Gossip协议:分布式系统中的“八卦”传播艺术
目录 一、 什么是Gossip协议?二、 Gossip协议的应用 💡三、 Gossip协议消息传播模式详解 📚四、 Gossip协议的优缺点五、 总结: 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式&…...
Oracle初识:登录方法、导入dmp文件
目录 一、登录方法 以sys系统管理员的身份登录 ,无需账户和密码 以账户密码的用户身份登录 二、导入dmp文件 方法一:PLSQL导入dmp文件 一、登录方法 Oracle的登录方法有两种。 以sys系统管理员的身份登录 ,无需账户和密码 sqlplus / a…...
微服务架构中的精妙设计:环境和工程搭建
一.前期准备 1.1开发环境安装 Oracle从JDK9开始每半年发布⼀个新版本, 新版本发布后, ⽼版本就不再进⾏维护. 但是会有⼏个⻓期维护的版本. ⽬前⻓期维护的版本有: JDK8, JDK11, JDK17, JDK21 在 JDK版本的选择上,尽量选择⻓期维护的版本. 为什么选择JDK17? S…...
【Yolov8部署】 VS2019+opencv-dnn CPU环境下部署目标检测模型
文章目录 前言一、导出yolov8模型为onnx文件二、VS2019配置及opencv环境配置三、opencv部署总结 前言 本文主要研究场景为工业场景下,在工控机与工业相机环境中运行的视觉缺陷检测系统,因此本文主要目的为实现c环境下,将yolov8已训练好的检测…...
【嵌入式学习3】零散知识点
目录 1、systemctl命令 2、软链接和硬链接 软链接:类似快捷方式 硬链接 3、网络配置 域名解析 固定ip 为什么要固定ip? 如何固定? 4、网络请求与下载 5、端口(物理/虚拟) 端口分类: 端口管理与…...
软考《信息系统运行管理员》- 6.2 信息系统硬件的安全运维
硬件安全运行的概念 硬件安全运行的含义是保护支撑信息系统业务活动的信息系统硬件资产免遭自然灾害、人 为因素及各种计算机犯罪行为导致的破坏。硬件安全通常包括环境安全、设备安全和介质安全。 硬件安全运行的影响因素 硬件安全运行的影响因素主要有: (1)自然…...
3.30学习总结 Java包装类+高精度算法+查找算法
包装类: 基本数据类型对应的引用数据类型。 基本数据类型:在内存中记录的是真实的值。 八种包装类的父类都是Object类。 对象之间不能直接进行计算。 JDK5之后可以把int和integer看成一个东西,因为会进行内部优化。自动装箱和自动拆箱。 …...
请描述下你对vue生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?
一、生命周期是什么 生命周期(Life Cycle)的概念应用很广泛,特别是在政治、经济、环境、技术、社会等诸多领域经常出现,其基本涵义可以通俗地理解为“从摇篮到坟墓”(Cradle-to-Grave)的整个过程在Vue中实例从创建到销毁的过程就是生命周期,即指从创建、初始化数据、编…...
3月30号
// 1.toString 返回对象的字符串表示形式Object objnew Object();String str1obj.toString();System.out.println(str1);//java.lang.Objectb4c966a// 核心逻辑: // 当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串 // 然…...
Java——输入,循环,BigInteger,拷贝,排序
读取输入 打印输出到“ 标准输出流”(即控制台窗口)是一件非常容易的事情,只要 调用System.out.println 即可。然而,读取“ 标准输人流” System.in就没有那么简单了。要想通 过控制台进行输人,首先需要构造一个Scann…...
Elasticsearch客户端工具初探--kibana
1 Kibana简介 Kibana是Elastic Stack(ELK)中的可视化工具,用于对Elasticsearch中存储的数据进行搜索、分析和可视化展示。它提供了直观的Web界面,支持日志分析、业务监控、数据探索等功能,广泛应用于运维监控、安全分析…...
ollama在win10安装、使用、卸载
目录 前置: 1 下载ollama 2 安装 3 配置环境变量,设置模型存储位置 4 使用 5 卸载 前置: 1 在打算安装ollama之前,需要先检查电脑当前状态是否能使用ollama。确认条件满足再进行安装操作。 2 https://github.com/ollama/…...
查看iphone手机的使用记录-克魔实战
如何查看 iOS 设备近期的详细使用数据 在日常使用手机时,了解设备的运行状态和各项硬件的使用情况可以帮助分析耗电情况、优化应用使用方式。iOS 设备提供了一些数据记录,能够显示应用的启动和关闭时间、后台运行情况,以及应用在使用过程中调…...
[Lc5_dfs+floodfill] 简介 | 图像渲染 | 岛屿数量
目录 0.floodfill算法简介 1.图像渲染 题解 2.岛屿数量 题解 之前我们在 bfs 中有介绍过[Lc15_bfsfloodfill] 图像渲染 | 岛屿数量 | 岛屿的最大面积 | 被围绕的区域,现在我们来看看 dfs 又是如何解决的呢 0.floodfill算法简介 floodfill算法又叫洪水灌溉或者…...
AI-Sphere-Butler之如何使用腾讯云ASR语音识别服务
环境: AI-Sphere-Butler WSL2 英伟达4070ti 12G Win10 Ubuntu22.04 腾讯云ASR 问题描述: AI-Sphere-Butler之如何使用腾讯云ASR语音识别服务,本地硬件配置不高的情况,建议使用云服务商的ASR 解决方案: 1.登…...
Qwen最新多模态大模型:Qwen2.5-Omni介绍与快速入门
一、模型技术突破:重新定义多模态交互 近日,Qwen2.5-Omni正式发布了! 这是Qwen系列中全新的旗舰级端到端多模态大模型,专为全面的多模式感知设计,无缝处理包括文本、图像、音频和视频在内的各种输入,同时…...
【Golang】第十一弹------反射
🎁个人主页:星云爱编程 🔍所属专栏:【Go】 🎉欢迎大家点赞👍评论📝收藏⭐文章 长风破浪会有时,直挂云帆济沧海 目录 1.反射基本介绍 2.反射重要的函数和概念 3.反射应用场景 4.反…...
C#里使用libxl的对齐/边框/颜色
一份好的EXCEL文件,通道会有不同的颜色和边框来表示。 以便表示一些重要的信息,这样才能让人们一眼就看到需要关注的信息。 如下面所示: 要显示上面的内容,需要使用下面的例子: private void button12_Click(object sender, EventArgs e){var book = new ExcelBook();if…...
算法刷题记录——LeetCode篇(1.4) [第31~40题](持续更新)
更新时间:2025-03-29 算法题解目录汇总:算法刷题记录——题解目录汇总技术博客总目录:计算机技术系列博客——目录页 优先整理热门100及面试150,不定期持续更新,欢迎关注! 32. 最长有效括号 给你一个只包…...
软考中级-软件设计师信息安全模块考点解析
一、防火墙技术 内部网络是 安全的可信赖的外部网络是不安全的不可信赖的外部网络和内部网络之间有一个DMZ隔离区, 可以在DMZ隔离区中搭建服务:例如:WEB服务器 安全排序:内网>DMZ>外网 三个发展阶段: 包过滤防…...
【蓝桥杯】每日练习 Day 16,17
前言 接下来是这两天的题目(昨天主播打完模拟赛感觉身体被掏空所以没有写题目的总结),只有三道题。 一道并查集,一道单调栈和一道单调队列。 奶酪 分析 这是一道模板题(连通块),只讲思路。 …...
相机租赁网站基于Spring Boot SSM
目录 摘要 1. 项目背景与意义 2. 功能需求分析 3. 技术需求分析 3.1开发语言:Java13。 3.2其他技术: 4. 系统设计与实现 5. 市场分析 6. 创新点与优势 7. 预期成果与展望 摘要 随着摄影技术的普及和摄影爱好者数量的增加&#…...
树莓派超全系列文档--(14)无需交互使用raspi-config工具其一
无需交互使用raspi-config工具其一 无需交互的 raspi-configSystem optionsWireless LANAudioPasswordHostnameBoot/Auto loginNetwork at bootSplash screenPower LEDBrowser Display optionsUnderscanScreen blankingVNC resolutionComposite 文章来源: http://r…...
Linux驱动开发--IIC子系统
1.1 简介 I2C 是很常见的一种总线协议, I2C 是 NXP 公司设计的, I2C 使用两条线在主控制器和从机之间进行数据通信。一条是 SCL(串行时钟线),另外一条是 SDA(串行数据线),这两条数据线需要接上拉电阻,总线空闲的时候 …...
如何应对硬件测试覆盖率不足导致量产故障
硬件测试覆盖率不足导致的量产故障是硬件制造领域的一大痛点。要有效应对,必须从提高测试覆盖率、优化测试方案、引入风险管理机制三个方面入手。其中,优化测试方案尤为关键,应从产品设计阶段开始,通过精确的测试用例规划、详细的…...
JS数组复制方法及注意事项
在 JavaScript 中,直接赋值数组会导致引用传递(修改一个会影响另一个),因此需要创建数组的副本。以下是几种常见的浅拷贝方法: 1. 使用 slice() 方法 javascript const originalArray [1, 2, 3]; const copiedArra…...
【附JS、Python、C++题解】Leetcode面试150题(12)多数问题
一、题目 169. 多数元素 给定一个大小为 n 的数组 nums ,返回其中的多数元素。 多数元素是指在数组中出现次数大于[n/2]的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出&a…...
