Spark入门01-Spark简介

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.mzph.cn/news/660285.shtml

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

相关文章

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

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

STM32G4 系列命名规则

STM32G4产品线 基础型系列STM32G4x1 具有入门级模拟外设配置,单存储区Flash,支持的Flash存储器容量范围从32到512KB。 增强型系列STM32G4x3 与基本型器件相比具有更多数量的模拟外设,以及双存储区Flash,Flash存储器容量也提高…

Docker 入门第一篇 安装Docker Desktop并结合Springboot在Idea中应用

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期专栏回顾 专栏描述…

虚拟机 网络模式

VMnet8默认不能访问VMnet1,但在实验中网络模式为NAT模式的虚拟机可以ping通网络模式为仅主机vmnet1的虚拟机,仅主机vmnet1的虚拟机 不可以ping通 网络模式为NAT模式的虚拟机 如果在虚拟机中没有进行任何额外的配置,但是 VMnet8(N…

Java技术栈 —— Servlet和Tomcat

一、Servlet 先理解Servlet。 Servlet 是一种在 Java 编程语言中用于创建动态 Web 应用程序的技术。 它是 Java Servlet API 的一部分,运行在 Web 服务器上,用于处理客户端(通常是浏览器)发送的 HTTP 请求。 Servlet 可以理解为是…

ISCTF wp

web 圣杯战争 题目源码 <?php highlight_file(__FILE__); error_reporting(0);class artifact{public $excalibuer;public $arrow;public function __toString(){echo "为Saber选择了对的武器!<br>";return $this->excalibuer->arrow;} }class pre…

web项目部署,一篇就搞定!

web部署的方式有很多&#xff0c;根据开发方式不同&#xff0c;部署方式也不同。最通用是docker部署&#xff0c;这个想必大家都熟悉。我们今天说另外一种。 部署过程 1、验证Jdk是否安装成功 2、验证Tomcat是否安装成功 3、验证Navicat 是否能连上数据库 4、创建数据库并导入…

JVM篇----第十八篇

系列文章目录 文章目录 系列文章目录前言一、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?二、对象分配规则三、描述一下JVM加载class文件的原理机制?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到…

【网络安全】2024年暗网威胁分析及发展预测

暗网因其非法活动而臭名昭著&#xff0c;现已发展成为一个用于各种非法目的的地下网络市场。 它是网络犯罪分子的中心&#xff0c;为被盗数据交易、黑客服务和邪恶活动合作提供了机会。为了帮助企业组织更好地了解暗网发展形势&#xff0c;近日&#xff0c;卡巴斯基的安全研究…

FCIS 2023:洞悉网络安全新前沿,引领未来安全创新狂潮

在数字化浪潮席卷全球的今天&#xff0c;网络安全问题愈发凸显其重要性。 FCIS 2023网络安全创新大会作为业界瞩目的盛会&#xff0c;不仅汇聚了国际顶尖的网络安全专家&#xff0c;更展示了最前沿的安全技术与研究成果。那么&#xff0c;参与这场大会&#xff0c;我们究竟能学…

2023年度统计DDoS攻击峰值暴增,如何选择合适的防护方式将为2024年的重点(DexunCloud)

进入 2024 年&#xff0c;发布了最新的 2023 年第三、四季度&#xff08;Q3-Q4&#xff09; DDoS 攻击趋势报告&#xff0c;指出 DDoS 攻击的规模和复杂性都有了惊人增长。 DexunCloud发现过去三年&#xff0c;DDoS 峰值攻击流量每年的增幅都超过了 100%&#xff0c;2021 年 D…

Sui主网升级至V1.17.3版本

Sui主网现已升级至V1.17.3版本&#xff0c;同时Sui协议升级至35版本。 其他升级要点如下所示&#xff1a; #15790 增加了一个选项&#xff0c;用于在开发审查时返回原始交易数据。 #15690 引入了对传统数据库快照时无需许可下载的支持。一个示例用法是sui-tool download-d…

从零开始学Linux之gcc命令

首先我们需要知道有两种编程语言 编译型语言&#xff1a;要求必须提前将所有源代码一次性转换成二进制指令&#xff0c;也就是生成一个可执行程序&#xff0c;例如C、C、go语言、汇编语言等&#xff0c;使用的转换工具称为编译器。 解释型语言&#xff1a;一边执行一边转换&a…

【2024全网最详细】Google 搜索命令终极指南

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 你是否尝试过使用 Google 搜索作为免费的 SEO …

结构体的学习

结构体与共用体&#xff0c;枚举 1.数据类型复习&#xff1a; 2结构体. eg&#xff1b;统计全校同学信息 需要记录的点--- 姓名&#xff0c;班级&#xff0c;性别&#xff0c;成绩&#xff0c;年龄 统计名字&#xff1a;char s[ ] [ 100 ] { "Tmo" } …

12.如何将图像转化为矩阵形式

read_image (Image, printer_chip/printer_chip_01) *获取图片大小 get_image_size (Image, Width, Height) *获取区域里各点(每个点)的坐标 *Image 输入参数&#xff0c; *Rows 输出参数 数组&#xff0c; *Columns 输出参数&#xff0c;数组 get_region_points (Image, Rows…

轩辕编程(Java第十二讲):Java类的抽象性和最终类

抽象类 使用关键字abstract声明的类称为抽象类&#xff0c;使用abstract声明的成员方法称为抽象方法。抽象方法只有方法声明没有方法体,例如下面的func1就为抽象方法 public abstract class AbstractClassExample {protected int x;private int y;public abstract void func1()…

【Transformer 】 Hugging Face手册 (02/10)

一、说明 启动&#x1f917;并运行变形金刚&#xff01;无论您是开发人员还是日常用户&#xff0c;此快速教程都将帮助您入门&#xff0c;并向您展示如何使用 pipeline&#xff08;&#xff09; 进行推理、使用 AutoClass 加载预训练模型和预处理器&#xff0c;以及使用 PyTorc…

VRRP负载平衡

1.构图 2.实验 2.1如图提示配置pc1-pc4 掩码:255.255.255.0网关均设置为192.168.1(\2).254 2.2配置sw1-sw2 [sw1]port-group 1 //创建接口组&#xff0c;组号是1[sw1-port-group 1]group-member gigabitethernet 0/0/1 to gigabitethernet 0/0/3 //添加组成员&#xff0c;从…

springboot142新冠病毒密接者跟踪系统

新冠病毒密接者跟踪系统设计与实现 摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff…