Spark入门01-Spark简介

news2024/11/15 15:29:18
1 Spark是什么

Spark是用于大规模数据处理的统一分析引擎。对任意类型的数据进行自定义计算。
可以计算:结构化、非结构化,半结构化的数据结构,支持使用Python,Java,Scala、Sql语言开发应用程序计算数据。
计算框架:
在这里插入图片描述
Spark借鉴了MapReduce思想,保留了其分布式并行计算的有点并改进了其明显的缺陷,让中间数据存储在内存中提高了运行速度、并提供丰富的操作数据的API提高了开发速度。

Hadoop和Spark对比

在这里插入图片描述

  • 在计算层面,Spark相比较MapReduce有巨大的性能优势,但至今仍有很多计算工具基于MR框架
  • Spark仅做计算,而Hadoop生态圈不仅有计算MR,还有存储HDFS,和资源管理调度YARN
2 Spark四大特点
  • 速度快
    • 处理数据时,将中间结果数据存储到内存中
    • 提供非常丰富的算子(API)
  • 易于使用
  • 通用性强
    在这里插入图片描述- 运行方式多
    在这里插入图片描述
3 Spark框架
  • SparkCore:Spark的核心,Spark核心功能均由SparkCore模块提供,是Spark运行的基础。SparkCore以RDD为数据抽象,提供Python、Java、ScalaR语言的API,可以编程进行海量离线数据批处理计算。
  • SparkSQL:基于SparkCore之上,提供结构化数据的处理模块。SparksQL支持以SQL语言对数据进行处理,SparkSQL本身针对离线计算场景。同时基于SparkSQL,Spark提供了Structuredstreaming模块,可以SparkSQL为基础,进行数据的流式计算。
  • SparkStreaming: 以Sparkcore为基础,提供数据的流式计算功能。
  • MLlib: 以Sparkcore为基础,进行机器学习计算,内置了大量的机器学习库和API算法等。方便用户以分布式计算的模式进行机器学习计算。
  • GraphX: 以Sparkcore为基础,进行图计算,提供了大量的图计算API,方便用于以分布式计算模式进行图计算。
    在这里插入图片描述
4 Spark的运行模式
  • 本地模式(单机):独立的进程,通过其内部的多个线程来模拟整个Spark运行时环境,多用于本地测试
  • Standlone模式(集群):各个角色以独立进程的形式存在,并组成Spark集群环境,Standalone是Spark自带的一个资源调度框架,支持完全分布式
  • Hadoop YARN模式(集群):各个角色运行在YARN的容器内部,并组成Spark集群环境
  • Kubernetes模式(容器模式):各个角色运行在Kubernetes的容器内部,并组成Spark集群环境
  • 云服务模式(运行在云平台上)
5 Spark架构角色
5.1.YARN角色回顾

YARN主要有4类角色,从2个层面去看:

  • 资源管理层面
    * 集群资源管理者 (Master):ResourceManager
    * 单机资源管理者 (Worker):NodeManager,所在服务器的资源管理
  • 任务计算层面
    • 单任务管理者(Master):ApplicationMaster(当前计算任务的管家)
    • 单任务执行者(Worker):Task(容器内计算框架的工作角色)
      在这里插入图片描述
5.2.Spark运行角色
  • 资源管理层面
    * 集群资源管理者 :Master
    * 单机资源管理者 :Worker
  • 任务计算层面
    • 单任务管理者:Driver,管理单个Spark任务在运行时工作
    • 单任务执行者:Executor,单个任务运行时的一堆工作者在这里插入图片描述
5.3 YARN和Spark对比

从2个层面划分:

  • 资源管理层面:
    管理者:Spark是Master角色, YARN是ResourceManager
    工作中:Spark是Worker角色,YARN是NodeManager
  • 任务执行层面:
    某任务管理者:Spark是Driver角色,YARN是ApplicationMaster
    某任务执行者:Spark是Executor角色,YARN是容器中运行的具体工作进程

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

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

相关文章

一文掌握SpringBoot注解之@Configuration知识文集(1)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

不同生态系统蒸散发研究进展_刘超_2023

不同生态系统蒸散发研究进展_刘超_2023 摘要关键词 1 研究方法1.1 实测法1.1.1 蒸渗仪1.1.2 气孔计法1.1.3 化学示踪法1.1.4 大孔径闪烁仪1.1.5 涡动相关法 1.2 模型法1.2.1 水量平衡法1.2.2 波文比-能量平衡法1.2.3 遥感技术1.2.4 综合法和辐射法 2 研究展望2.1 研究进展2.2 存…

使用 Docker 部署扫雷小游戏

1)源码 介绍:扫雷游戏是一款经典的单人益智游戏,旨在通过揭示方块和避开地雷来展示玩家的逻辑思维和推理能力。 源码:saolei.zip 个人文件站:https://share.wuhanjiayou.cn/ 2)部署 2.1)安装…

中科大计网学习记录笔记(一):Internet | 网络边缘

计算机网络 前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面…

学习嵌入式第十五天之结构体

用变量a给出下面的定义 a) 一个整型数(An integer) //int a;b) 一个指向整型数的指针(A pointer to an integer) //int *a;c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a poin…

通用CI/CD软件平台TeamCity全新发布v2023.11——增强Git托管平台的集成

TeamCity是一个通用的 CI/CD 软件平台,可以实现灵活的工作流、协作和开发做法。我们的解决方案将帮助在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 TeamCity 2023.11正式版下载 TeamCity 2023.11 带来了矩阵构建和构建缓存等多项备受期待的功能&a…

Redis -- 单线程模型

失败是成功之母 ——法国作家巴尔扎克 目录 单线程模型 Redis为什么这么快 单线程模型 redis只使用一个线程,处理所有的命令请求,不是说redis服务器进场内部真的就只有一个线程,其实也有多个线程,那就是处理网络和io的线程。 R…

计算机设计大赛 深度学习 opencv python 实现中国交通标志识别_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

【零基础学习CAPL】——CAN报文的发送(按下按钮同时周期性发送)

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 文章目录 1.概述2.面板创建3.系统变量创建4.CAPL实现4.1.函数展示4.2.全量报文展示5.效果1.概述 本章主要介绍使用CAPL和Panel在按下按钮时发送周期性CAN报文。 本章主要在“【零基础学习CAPL】——CAN报文的发送(配合P…

即时设计和xd对比有什么优势?

Adobe XD 是 Adobe 公司推出的用户体验设计工具主要用于创建和设计用户界面的原型和设计草案,如网站、移动应用程序和桌面应用程序。然而,由于其复杂的功能使用和全英文操作界面,许多设计师被说服离开。Adobe XD 这是一款价格相对较高的商业软…

【微服务】Spring Boot集成ELK实用案例

推荐一款我一直在用国内很火的AI网站,包含GPT3.5/4.0、文心一言、通义千问、智谱AI等多个AI模型,支持PC、APP、VScode插件同步使用,点击链接跳转->ChatGPT4.0中文版 一、前言 在现代软件开发中,微服务架构已成为一种流行趋势。…

Kafka运维相关知识

目录 一、基本概念 二、技术特性 三、设计思想 四、运维建议 一、基本概念 Apache kafka 是一个分布式的基于push-subscribe的消息系统,它具备快速、可扩展、可持久化的特点。它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于h…

辽宁链家新房数据采集与可视化实现

摘 要 网络爬虫也叫做网络机器人,是一种按照一定的规则,自动地抓取网络信息,进行数据信息的采集与整理的程序或者脚本。随着海量数据的出现,如何快速有效的获取到我们想要的数据成为难题。以房源信息为例,该文使用Pyt…

【JAVE SE】---运算符和程序逻辑控制语句

1.运算符 算数运算符 - * / % 注意:1.Java的%符号左右两边可以是小数,也可以是负数 //运算符float a1.0f;float b2.0f;float c-1.5f;System.out.println(a%b); //1.0System.out.println(a%c); //1.0 2.Java中除数不可以为0&#xff0c…

华为配置ARP安全综合功能实验

配置ARP安全综合功能示例 组网图形 图1 配置ARP安全功能组网图 ARP安全简介配置注意事项组网需求配置思路操作步骤配置文件 ARP安全简介 ARP(Address Resolution Protocol)安全是针对ARP攻击的一种安全特性,它通过一系列对ARP表项学习和A…

如何用MapTalks IDE来发布网站?

简介 MapTalks IDE 全称 MapTalks集成设计环境(Integrated Design Environment),是由MapTalks技术团队开发的新一代web地图设计软件。 通过MapTalks IDE,您可以自由的创建二维和三维地图,在其中载入或创建地理数据&a…

Opencv(C++)学习 TBB与OPENMP的加速效果实验与ARM上的实践(二)

在上一篇文章中,我们成功验证了Intel Threading Building Blocks (TBB) 与 OpenMP 在多线程并行处理方面的加速潜力。为了更深入地理解这些技术在实际应用场景中的效能提升,接下来我们将目光转向目标开发板环境,进一步探究这两种框架在嵌入式…

Vue-49、Vue技术实现动画效果

1、首先&#xff0c;在Vue项目中的src/components文件夹下创建一个名为AnimatedBox.vue的文件。 2、编辑AnimatedBox.vue文件&#xff0c;添加以下代码&#xff1a; <template><div class"animated-box" click"toggle"><transition name&q…

文本生成高清、连贯视频,谷歌推出时空扩散模型

谷歌研究人员推出了创新性文本生成视频模型——Lumiere。 与传统模型不同的是&#xff0c;Lumiere采用了一种时空扩散&#xff08;Space-time&#xff09;U-Net架构&#xff0c;可以在单次推理中生成整个视频的所有时间段&#xff0c;能明显增强生成视频的动作连贯性&#xff…

Fiddler修改https请求与响应 bug修复变灰了选不了等 Fiddle对夜神模拟器抓包设置

不要修改别人的东西&#xff0c;不要修改别人的东西&#xff0c;不要修改别人的东西 只用于自己的网站&#xff0c;自己安全调试。 fiddler修改https请求 1、打到要改的请求 2、替换请求内容 3、开启捕获。操作产生请求。 4、fiddler里查看请求或响应数据 &#xff0c;确认成…