Spark与PySpark(1.概述、框架、模块)

目录

1.Spark 概念

2. Hadoop和Spark的对比

3. Spark特点

3.1 运行速度快

3.2 简单易用

3.3 通用性强

3.4 可以允许运行在很多地方

4. Spark框架模块

4.1 Spark Core

4.2 SparkSQL

4.3 SparkStreaming

4.4 MLlib

4.5 GraphX

5. Spark的运行模式

5.1 本地模式(单机) Local运行模式

5.2 Standalone模式(集群)

5.3 HadoopYARN模式(集群)

5.4 Kubernetes模式(容器集群)

5.5 云服务模式(运行在云平台上)

6. Spark架构

6.1 在Spark中任务运行层面

6.2 在Spark中资源层面

1.Spark 概念

  • 定义:Apache Spark 是用于大规模数据处理的统一分析引擎
  • 其特点就是对任意类型的数据进行自定义计算。
  • Spark可以计算:结构化、半结构化、非结构化等各种类型的数据结构,同时也支持使用Python、Java、Scala、R以及SQL语言去开发应用程序计算数据。
  • Spark的适用面非常广泛,所以,被称之为统一的(适用面广)的分析引擎(数据处理)
  • Spark最早源于一篇论文 Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing, 该论文是由加州大学柏克莱分校的Matei Zaharia等人发表的。论文中提出了一种弹性分布式数据集(即RDD)的概念
  • RDD是一种分布式内存抽象,其使得程序员能够在大规模集群中做内存运算,并且有一定的容错方式。而这也是整个Spark的核心数据结构,Spark整个平台都围绕着RDD进行。

2. Hadoop和Spark的对比

尽管Spark相对于Hadoop而言具有较大优势,但Spark并不能完全替代Hadoop

  • 在计算层面,Spark相比较MR(MapReduce)有巨大的性能优势,但至今仍有许多计算工具基于MR构架,比如非常成熟的Hive
  • Spark仅做计算,而Hadoop:生态圈不仅有计算(MR)也有存储(HDFS)和资源管理调度(YARN),HDFS和YARN仍是许多大数据体系的核心架构。

3. Spark特点

3.1 运行速度快

Spark处理数据与MapReduce处理数据相比,有如下两个不同点:

  • Spark处理数据时,可以将中间处理结果数据存储到内存中;
  • Spark提供了非常丰富的算子(APi),可以做到复杂任务在一个Spark程序中完成.

3.2 简单易用

3.3 通用性强

3.4 可以允许运行在很多地方

4. Spark框架模块

4.1 Spark Core

Spark的核心,Spark核心功能均由SparkCore模块提供,是Spark:运行的基础。

SparkCorel以RDD为数据抽象,提供Python、Java、Scala、R语言的API,可以编程进行海量离线数据批处理计算。

4.2 SparkSQL

基于SparkCore之上,提供结构化数据的处理模块。

SparkSQL支持以sQL语言对数据进行处理,SparkSQL本身针对离线计算场景。

同时基于SparkSQL,Spark提供了StructuredStreaming模块,可以以SparkSQL为基础,进行数据的流式计算。

4.3 SparkStreaming

以SparkCore为基础,提供数据的流式计算功能。

4.4 MLlib

以SparkCore为基础,进行机器学习计算,内置了大量的机器学习库和APi算法等。方便用户以分布式计算的模式进行机器学习计算。

4.5 GraphX

以SparkCore为基础,进行图计算,提供了大量的图计算APl,方便用于以分布式计算模式进行图计算。

5. Spark的运行模式

5.1 本地模式(单机) Local运行模式

本地模式就是以一个独立的进程,通过其内部的多个线程来模拟整个Spark运行时的环境

5.2 Standalone模式(集群)

Spark中的各个角色以独立进程的形式存在,并组成Spark:集群环境

5.3 HadoopYARN模式(集群)

Spark中的各个角色运行在YARN的容器内部,并组成Spark集群环境  

5.4 Kubernetes模式(容器集群)

Spark中的各个角色运行在Kubernetesl的容器内部,并组成Spark:集群环境

5.5 云服务模式(运行在云平台上)

6. Spark架构

左边是YARN框架,右边是Spark框架

6.1 在Spark中任务运行层面

  • Driver, 负责对一个任务的运行进行管理(单个任务的管理)
  •  Executor,单个任务的计算(干活的)
  • 正常情况下Executor是干活的角色,不过特殊场景下,(local模式)Driver可以即管又干活

6.2 在Spark中资源层面:

  • Master角色:集群资源管理
  • Worker的角色: 单机资源管理

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

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

相关文章

初识Vue 解决vue在启动时生成的提示

让我为大家简单介绍一下吧&#xff01; Vue是一套用于构建用户界面的渐进式javaScript框架 当我们引入vue.js后 <script src"../js/vue.js"></script>我们发现&#xff0c;当我们打开网页时&#xff0c;控制台会出现以下内容 那我们该怎么解决呢&…

【设计模式--结构型--组合模式】

设计模式--结构型--组合模式 组合模式定义结构案例组合模式的分类优点使用场景 组合模式 定义 又称部分整体模式&#xff0c;是用于把一组相似的对象当作一个单一的对象。组合模式依据树型结构来组合对象&#xff0c;用来表示部分以及整体层次&#xff0c;这种类型的设计模式…

新增模板中心和系统设置模块,支持飞书平台对接,DataEase开源数据可视化分析平台v2.1.0发布

这一版本的功能升级包括&#xff1a;新增模板中心&#xff0c;用户可以通过模板中心的模板快速创建仪表板和数据大屏&#xff1b;新增“系统设置”功能模块&#xff0c;该模块包含系统参数、认证设置、嵌入式管理、平台对接四个子模块。在“系统参数”子模块中&#xff0c;用户…

代码上传的gitee平台

1.首先我们访问工作台 - Gitee.com进行注册和登录 2.我们创建一个仓库&#xff1a; 3.在本地创建我们的项目 在这文件夹里面我们打开git bush,执行 一下操作&#xff1a; git init &#xff1a;初始化仓库 git status&#xff1a;检查状态 git add . &#xff1a;将当前文件…

ubuntu 命令行安装 conda

安装包地址&#xff1a; Index of / 找到对应的版本&#xff0c;右键点复制链接 wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.shbash Anaconda3-2023.09-0-Linux-x86_64.sh https://linzhji.blog.csdn.net/article/details/126530244

BERT大模型:英语NLP的里程碑

BERT的诞生与重要性 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;大模型标志着自然语言处理&#xff08;NLP&#xff09;领域的一个重要转折点。作为首个利用掩蔽语言模型&#xff08;MLM&#xff09;在英语语言上进行预训练的模型&…

Keepalived+Nginx实现高可用(上)

一、背景与简介 为了服务的高可用性&#xff0c;避免单点故障问题&#xff0c;通常我们使用"冗余设计思想"进行架构设计。冗余设计思想&#xff0c;本质就是将同一个应用或者服务放置在多台不同的服务器上[鸡蛋不放在同一个篮子里]&#xff0c;这样减少整体服务宕机的…

ACWing week 3(C语言) 725.完全数

一个整数&#xff0c;除了本身以外的其他所有约数的和如果等于该数&#xff0c;那么我们就称这个整数为完全数。 例如&#xff0c;66 就是一个完全数&#xff0c;因为它的除了本身以外的其他约数的和为 1236 现在&#xff0c;给定你 N 个整数&#xff0c;请你依次判断这些数是…

ESP32网络开发实例-搭建ESP32固件远程升级服务器

搭建ESP32固件远程升级服务器 文章目录 搭建ESP32固件远程升级服务器1、ESP32设备自动升级流程2、软件准备3、硬件准备4、代码实现4.1 固件升级服务器代码实现4.2 基础固件代码4.3 新固件代码实现我们在前面的文章中,已经实现了OTA方式升级固件的两种方式:在Arduino IDE 中升…

数据结构与算法-动态规划-机器人达到指定位置方法数

机器人达到指定位置方法数 来自左程云老师书中的一道题 【题目】 假设有排成一行的 N 个位置&#xff0c;记为 1~N&#xff0c;N 一定大于或等于 2。开始时机器人在其中的 M 位置上&#xff08;M 一定是 1&#xff5e;N 中的一个&#xff09;&#xff0c;机器人可以往左走或…

基于大语言模型的复杂任务认知推理算法CogTree

近日&#xff0c;阿里云人工智能平台PAI与华东师范大学张伟教授团队合作在自然语言处理顶级会议EMNLP2023上发表了基于认知理论所衍生的CogTree认知树生成式语言模型。通过两个系统&#xff1a;直觉系统和反思系统来模仿人类产生认知的过程。直觉系统负责产生原始问题的多个分解…

10 # 类:继承和成员修饰符

类的基本实现 类的成员属性都是实例属性&#xff0c;而不是原型属性&#xff0c;类的成员方法都是原型方法。 class Dog {constructor(name: string) {this.name name;}name: string;run() {} }console.log(Dog.prototype); let dog new Dog("wangwang"); consol…

知识笔记(五十四)———mysql比较varchar值大小_Mysql varchar大小长度问题

1、限制规则 字段的限制在字段定义的时候有以下规则&#xff1a; a) 存储限制 varchar 字段是将实际内容单独存储在聚簇索引之外&#xff0c;内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节)&#xff0c;因此最大长度不能超过65535。 b) 编码长度限制 字符类…

低功耗模式的通用 MCU ACM32F0X0 系列,具有高整合度、高抗干扰、 高可靠性的特点

ACM32F0X0 系列是一款支持多种低功耗模式的通用 MCU。集成 12 位 1.6 Msps 高精度 ADC 以及比 较器、运放、触控按键控制器、段式 LCD 控制器&#xff0c;内置高性能定时器、多路 UART、LPUART、SPI、I2C 等丰富的通讯外设&#xff0c;内建 AES、TRNG 等信息安全模块&#xff0…

kubeadm搭建单master多node的k8s集群--小白文,图文教程

参考文献 K8S基础知识与集群搭建 kubeadm搭建单master多node的k8s集群—主要参考这个博客&#xff0c;但是有坑&#xff0c;故贴出我自己的过程&#xff0c;坑会少很多 注意&#xff1a; 集群配置是&#xff1a;一台master&#xff1a;zabbixagent-k8smaster&#xff0c;两台…

C++类和对象——(10)综合示例

一、示例对象数组&#xff1a; #include<iostream> using namespace std;class Point{private:int x,y;public:Point(int px0,int py0){xpx;ypy;}void init(int px0,int py0){xpx;ypy;}void print(){cout<<"("<<x<<","<<y…

FFmpeg的AVInputFormat

文章目录 结构体定义操作函数支持的AVOutputFormat 通过上面的分析&#xff0c;基本可以看到ffmpeg的套路了&#xff0c;首先一个context上下文&#xff0c;上下文里面一个priv_data 指针&#xff0c;然后再插件结构体中有一个priv_data_size&#xff0c;然后回调函数。 结构体…

JVM-GC调优-字节码篇-01

笔记来源&#xff1a;JVM 注意&#xff1a;实在想学习可以看一下&#xff0c;让自己更加了解JVM&#xff0c;看起来可能会枯燥。 JVM-概述 1、你的问题 1.1你被JVM伤害过吗&#xff1f; 你是否也遇到过这些问题&#xff1f; 运行着的线上系统突然卡死&#xff0c;系统无法访…

Flink SQL: 高效解析 Kafka 数据并存储为 Parquet 至 HDFS

目录 总体流程介绍 1. 从 Kafka 读取数据 2. 使用 UDF 进行数据解析 3. 将

HTML中如何设置音频和视频?

文章目录 &#x1f50a;嵌入音频&#x1f39e;️嵌入视频 &#x1f50a;嵌入音频 HTML 元素用于在文档中嵌入音频内容。 元素可以包含一个或多个音频资源&#xff0c; 这些音频资源可以使用 src 属性或者 元素来进行描述&#xff1a;浏览器将会选择最合适的一个来使用。也可以使…