🍁 学无止境

坑要一个一个填,路要一步一步走.

Spark satge划分

Spark satge划分

  Spark Application只有遇到action操作时才会真正的提交任务并进行计算,DAGScheduler 会根据各个RDD之间的依赖关系形成一个DAG, 并根据ShuffleDependency来进行stage的划分,stage包含多个tasks,个数由该stage的finalRDD决定,stage里面的task完全相同, DAGScheduler 完成stage的划分后基于每...

Spark lineage

Spark Lineage探讨

Spark lineage   利用内存加快数据加载,在其它的In-Memory类数据库或Cache类系统中也有实现。Spark的主要区别在于它采用血统(Lineage) 来时实现分布式运算环境下的数据容错性(节点失效、数据丢失)问题。RDD Lineage被称为RDD运算图或RDD依赖关系图,是RDD所有父RDD的图。它是在RDD上执行transformations函数并创建逻辑执行计划...

Flink 架构中的容错和一致性实现方案

Flink 架构中的容错和一致性实现方案

Flink 架构中的容错和一致性实现方案 ### 有状态计算   聚合结果和本窗口内的所有记录有关,由于每个记录都是一个独立的事件,窗口需要缓存这些独立事件或由这些独立事件产生的中间结果,这些聚合运算称之为有状态的计算,而基于单个事件的过滤处理规则被称之为无状态计算。 Flink有两类状态: 数据处理应用程序自身的状态,这类状态由应用程序创建维护。 引擎自定义的状态,...

流处理基本知识

流处理基本知识

流式架构的基本概念 ### 流 最初流式系统架构是通过微批处理的方式来实现的,如SparkStreaming,其原理是将多个微批处理任务进行串联起来进行数据处理,牺牲了吞吐和延迟,为此,业界便开始构建用于处理没有时间边界的数据(无界数据集,Unbounded Data)的实时数据。因此从这个角度分析,流可以定义为一种无界数据集设计的数据处理引擎,这种引擎具备以下的特征: 具备强一致...

Flink Water Mark

Flink Water Mark

Flink的WaterMark   每个窗口都会有开始时间和结束时间(一般window的时间窗口为左闭右开的区间范围),在这段时间内,我们是否能拿到所有需要处理的数据,我们就需要watermark来配合了。   Watermark是Apache Flink为了处理EventTime 窗口计算提出的一种机制,本质上也是一种时间戳,由Apache Flink Source或者自定义的Water...

Flink 基本组件

Flink 基本组件

Flink基本组件 JobManager 主要工作是协调分布式系统的运行。比如协调各个任务的执行时间,管理 checkpoint 和协调异常状态的恢复等。 TaskManager 是任务的真正执行者,包括数据流的缓存和交换等操作。 client 不是 Flink Runtime 的一部分,也不参与任务的真正执行,只是用来启动 Job 时...

SparkShuffle和MapReduceShuffle的对比

SparkShuffle和MapReduceShuffle的对比.

MR Shuffle   在正式的分析SparkShuffle之前,先梳理下MR的shuffle流程。 Shuffle是连接Map 任务和Task任务的纽带。Shuffle的本义是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程,把一组无规则的数据尽量转换成一组具有一定规则的数据。 为什么MapReduce计算模...

数据倾斜优化

数据倾斜优化

 在大数据处理时候,基于MapReduce的思想,通常是分而治之,将数据分割,然后并行处理,这样每一个executor只需要处理自己所负责的那一部分数据即可,这样各个 executor就可以同处理一小部分工作,加快大数据处理,这一切看上去很美好,但是不可 避免的存在极端情况下,数据在各个executor上分布不均,导致个别executor 数据远大于其他节点,导致executor负载不均衡,...

Yarn资源调度策略探讨

Yarn资源调度策略探讨

YARN资源调度策略探讨: YARN在硬件和计算框架之间提供了一个抽象层,用户可以方便的基于YARN编写自己的分布式计算框架,而不用关心硬件的细节。由此可以看出YARN的核心功能:资源抽象、资源管理(包括调度、使用、监控、隔离等等)。从某种程度上说YARN类似于云计算中的IaaS。YARN的资源抽象比较简单,只有两种资源:内存和CPU。而资源数量是管理员手动设置的,每个NM节点可以贡献一定数...

SPARK的数据容错机制

SPARK的数据容错机制

spark的数据容错机制: 一般而言,分布式数据集的容错性具备两种方式:数据检查点和记录数据的更新 checkpoint机制——数据检查点 记录更新机制(在Saprk中对应Lineage机制)  下面对这两种机制分别进行介绍: checkpoint机制 checkpoint的意思是建立检查点,类似于快照,传统的Spark任务计算过程中,DAG特别长,集群需要将整个DAG计...