Spark-RDD 模型 以及运行原理

Spark-RDD 模型 以及运行原理

数据:在内存中计算,数组、list、set

spark:RDD是弹性分布性数据集合,并且是基于分区的只读记录。

RDD:操作类型(转换-Transformaction 和 行动-Action)

转换:Transformaction:根据原有的RDD创建一个新的RDD 。行动:Action是把RDD的操作返回给Driver。

所有的转换都是基于lazy模式(懒加载)。只有遇到Action的时候才开始执行。

RDD的依赖关系:job -> stag

宽依赖,窄依赖

  宽依赖:RDD的每个partition都依赖于父RDD的所有Partition。

  窄依赖:只依赖一个或部分的Partition。

  

RDD分区与并行度

  可以通过配置 spark.default.parallesism 的设置

原文地址:https://www.cnblogs.com/Tonyzczc/p/10421525.html

时间: 2024-10-14 01:49:28

Spark-RDD 模型 以及运行原理的相关文章

spark 任务运行原理

调优概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置.资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢:或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常.总之,无论是哪种情况,都会导致Spark作业的运行效率低下,甚至根本无法运行.因此我们必须对Spark作

Spark:RDD的设计与运行原理

# Spark:RDD的设计与运行原理 ## 1.RDD设计背景在实际应用中,存在许多迭代式算法和家忽视数据挖掘工具,这些应用场景的共同之处是,不同计算阶段之间会重用中间结果,即下一个阶段的输出结果会作为下一个阶段的输入.但是,目前的MapReduce框架都是把中间结果写入到HDFS中,带来了大量的数据复制.磁盘IO和序列化开销.虽然类似Pregel等图形计算框架也是将结果保存在内存中.但是,这些框架只能支持一些特定的计算模式,并没有提供一种通用的数据抽象.RDD就是为了满足这种需求出现的,它提

Spark3000门徒第七课Spark运行原理及RDD解密总结

今晚听了王家林老师的第七课Spark运行原理及RDD解密,课后作业是:spark基本原理,我的总结如下: 1 spark是分布式 基于内存 特别适合于迭代计算的计算框架 2 mapReduce就两个阶段map和reduce,而spark是不断地迭代计算,更加灵活更加强大,容易构造复杂算法. 3 spark不能取代hive,hive做数据仓库存储,spark sql只是取代hive的计算引擎 4 spark中间数据可以在内存也可以在磁盘 5 partition是一个数据集合 6 注意:初学者执行多

Spark学习(二)——RDD的设计与运行原理

Spark的核心是建立在统一的抽象RDD之上,使得Spark的各个组件可以无缝进行集成,在同一个应用程序中完成大数据计算任务.RDD的设计理念源自AMP实验室发表的论文<Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing>. RDD设计背景 在实际应用中,存在许多迭代式算法(比如机器学习.图算法等)和交互式数据挖掘工具,这些应用场景的共同之处是,不同计算阶段之间

Spark和RDD模型研究

1背景介绍 现今分布式计算框架像MapReduce和Dryad都提供了高层次的原语,使用户不用操心任务分发和错误容忍,非常容易地编写出并行计算程序.然而这些框架都缺乏对分布式内存的抽象和支持,使其在某些应用场景下不够高效和强大.RDD(Resilient Distributed Datasets弹性分布式数据集)模型的产生动机主要来源于两种主流的应用场景: ?  迭代式算法:迭代式机器学习.图算法,包括PageRank.K-means聚类和逻辑回归(logistic regression) ? 

Spark分布式计算和RDD模型研究

1背景介绍 现今分布式计算框架像MapReduce和Dryad都提供了高层次的原语,使用户不用操心任务分发和错误容忍,非常容易地编写出并行计算程序.然而这些框架都缺乏对分布式内存的抽象和支持,使其在某些应用场景下不够高效和强大.RDD(Resilient Distributed Datasets弹性分布式数据集)模型的产生动机主要来源于两种主流的应用场景: Ø  迭代式算法:迭代式机器学习.图算法,包括PageRank.K-means聚类和逻辑回归(logistic regression) Ø 

【转载】Spark系列之运行原理和架构

参考 http://www.cnblogs.com/shishanyuan/p/4721326.html 1. Spark运行架构 1.1 术语定义 lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码: lDriver:Spark中的Driver即运行上述Application的main()函数并且创建SparkCon

Spark源码分析之二:Job的调度模型与运行反馈

在<Spark源码分析之Job提交运行总流程概述>一文中,我们提到了,Job提交与运行的第一阶段Stage划分与提交,可以分为三个阶段: 1.Job的调度模型与运行反馈: 2.Stage划分: 3.Stage提交:对应TaskSet的生成. 今天,我们就结合源码来分析下第一个小阶段:Job的调度模型与运行反馈. 首先由DAGScheduler负责将Job提交到事件队列eventProcessLoop中,等待调度执行.入口方法为DAGScheduler的runJon()方法.代码如下: [jav

[Spark內核] 第41课:Checkpoint彻底解密:Checkpoint的运行原理和源码实现彻底详解

本课主题 Checkpoint 运行原理图 Checkpoint 源码解析 引言 Checkpoint 到底是什么和需要用 Checkpoint 解决什么问题: Spark 在生产环境下经常会面临 Transformation 的 RDD 非常多(例如一个Job 中包含1万个RDD) 或者是具体的 Transformation 产生的 RDD 本身计算特别复杂和耗时(例如计算时常超过1个小时) , 可能业务比较复杂,此时我们必需考虑对计算结果的持久化. Spark 是擅长多步骤迭代,同时擅长基于