首页 > 其他分享 >假期学习记录07

假期学习记录07

时间:2024-01-21 20:57:49浏览次数:26  
标签:依赖 07 记录 假期 RDD Task 计算 Spark 进行

  本次学习了Spark概述,了解了Spark的一些基本概念,为更好的学习

基于内存计算的分布式框架,拥有良好的性能,运行速度快,采用内存计算

scala简介

运行再jvm上,具有强大并发性,支持函数式编程,语法简洁,兼容java,交互式语言

Spark与Hadoop比较

Hadoop:磁盘io开销大,表达能力有限,延迟高,map未结束reduce开启不了

Spark:提供多种据集操作类型,基于内存计算,迭代效率高

Spark生态系统

基于一个软件栈可以满足不同应用场景的理念,满足不同场景的应用

基本概念和架构设计

Spark运行基本流程

1、Driver -> SparkContext(解释器模式下自动创建好sc,编程下需new) -> 进行资源申请 -> SparkContext进行任务的分配与监控

2、为Executor分配资源

3、SparkContext根据RDD的依赖关系生成有向完成图,解析成Stage,里面包含很多个Task,交给TaskSchedule,Executor向SparkContext进行申请Task,根据计算向数据靠拢原则进行选择Executor,TaskSchedule将Task交给Ececutor进行运行

4、Task再Executor进行计算,最后返回数据

RDD

概念

是一个分布式对象集合,只读记录集合,可以有多个分区,可以保存到不同物理存储上,编程模型更加灵活

操作

具体操作分为动作、转换两种类型:转换操作不进行计算,记录转换的轨迹;动作操作进行计算,进行动作计算从头开始沿着轨迹开始进行计算

执行过程

RDD读入外部数据源进行创建,RDD进行一系列转换操作,每一次都会产生不同的RDD供给下一个RDD,

优点:惰性调用,管道化,避免等待

特性

具有高效容错性,采用记录日志:记录有向无环图的轨迹,只记录粗粒度操作,代价很小

RDD依赖关系和运行过程

依赖关系:窄依赖、宽依赖

窄依赖:一个父RDD对一个子RDD或多个父RDD对一个子RDD

宽依赖:一个父RDD的一个分区对多个子RDD或多个父RDD对多个子RDD

运行过程:先进行Stage划分,遇到窄依赖直接添加,遇到宽依赖断开,将RAG进行划分,进行生成Task任务,进行执行

Spark的部署和应用方式

用Spark可以一栈式架构满足批处理和流计算

可以和hadoop一起架构。

Spark是计算框架,取代hadoop的计算框架:MapReduce,但对于hadoop生态的其他框架,Spark替换不了

标签:依赖,07,记录,假期,RDD,Task,计算,Spark,进行
From: https://www.cnblogs.com/JIANGzihao0222/p/17978332

相关文章

  • 使用Gin框架往数据库插入记录
    首先往数据库插入数据,就需要连接数据库(笔者此处使用的是PostgreSQL)因此在项目中引入如下依赖(这两个依赖版本号不一致,可能会出现异常)gorm.io/driver/postgres  //依赖是用于连接和操作PostgreSQL数据库gorm.io/gorm  //对象关系映射(ORM)库,简化Golang程序与数据库......
  • 【补题记录】ICPC2023 Jinan
    【补题记录】ICPC2023JinanContestLink:https://qoj.ac/contest/1472.Problems:https://sua.ac/wiki/2023-icpc-jinan/contest-zh.pdf.Solution:https://qoj.ac/download.php?type=attachments&id=1472&r=1.A.ManyManyHeadsconstintN=1e5+10;intT;str......
  • 赛博垃圾桶 【发疯记录】
    2024.1.21线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建图线段树建......
  • P7192 [COCI2007-2008#6] GEORGE 题解
    题目简述给定一张$n$个点$m$条边的无向图,从$u_i\rightarrowv_i$需要用时$w_i$分钟。有一位T先生从$0$时刻按有$g$个点的序列顺序移动,即$v_1\rightarrowv_2\rightarrow\cdots\rightarrowv_g$。还有一位卡车司机Luka从$k$时刻开始从$a$点出发,Luka不......
  • P10073 [GDKOI2024 普及组] 刷野 II 的题解
    P10073[GDKOI2024普及组]刷野II的题解谨以此篇题解记录我考场上唯一通过的一题~解题思路可以考虑定义两个指针x和y,分别为左侧攻击到哪里和右侧。此时,从两侧线性想中间递推,若先打左边的代价小就打左边的,否则就打右边的。按照这个方法向中间推就可以了。Code#include<......
  • 记录迁移mongdb数据库
    在Windows系统上,默认情况下,MongoDB的数据库文件存储在以下位置: C:\ProgramFiles\MongoDB\Server\<版本号>\data\db这是MongoDB安装程序的默认路径。<版本号> 是MongoDB的版本号,例如 4.4 或 5.0。请注意,如果你在安装MongoDB时选择了不同的安装路径,那么数据库......
  • 假期学习记录06
    将Scala剩下的函数式编程进行学习函数式编程函数字面量123:整数自变量1.23浮点数自变量'A'字符自变量...函数自变量:定义一个变量一般去定义一个函数,使得函数也像其他自变量一般有了值,同样拥有类型和值函数的类型和值示例:defcounter(value:Int):Int={valu......
  • 假期学习记录05
    学习了Scala剩下的内容:模式匹配可以对表达式类型进行匹配matchvalcolorNum=1valcolorStr=colorNummatch{case1=>"red"case2=>"green"case3=>"yellow"case_=>"NotAllowed"//什么也没有匹配上}可以在match使用变......
  • Luogu P4924 [1007] 魔法少女小Scarlet
    [1007]魔法少女小Scarlet\(\color{cyan}link\)题目描述Scarlet最近学会了一个数组魔法,她会在\(n\timesn\)二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转\(90^\circ\)。首先,Scarlet会把\(1\)到\(n^2\)的正整数按照从左往右,从上至下的顺序填入初始的二维数组......
  • Ubuntu20.04静态编译Boost记录
    下载Boost源码地址:https://www.boost.org/users/history/version_1_72_0.html指定安装位置./bootstrap.sh--prefix=/usr/local/boost-1-72-0编译release版本的boost库./b2toolset=gcclink=staticruntime-link=staticthreading=multi开始编译sudo./b2install--......