- 博客(8)
- 收藏
- 关注
原创 Spark-Scheduler:三、DAGScheduler实现过程
前言:通过前面部分内容,我们知道DAGScheduler会根基RDD的计算逻辑,将DAG划分为不同的Stage,每个Stage可以并发执行一组逻辑完全相同的Task,只是分布作用于不同数据集上面。现在从一个简单的RDD count为例,来看一下Spark的内部实现原理。1、SparkContext#runJobdef count(): Long = sc.runJob(this, Utils.getIteratorSize _).sum其实SparkContext实现了很多..
2020-06-16 20:13:37
488
原创 Spark-Scheduler:二、Scheduler实现概述
任务调度模块涉及了三个类:1)org.apache.spark.scheduler.DAGScheduler2)org.apache.spark.scheduler.SchedulerBackend3)org.apache.spark.scheduler.TaskScheduler其中1,3在上篇的图示里面有,而org.apache.spark.scheduler.SchedulerBackend是一个trait,作用是:分配当前可用的资源 ——就是给Task分配计算资源(Execut.
2020-06-16 19:43:06
242
原创 JVM内存模型
jvm架构图示(图是借鉴网上的)JVM主要分为三个子系统: 类加载器 运行时数据区 执行引擎 1、类加载器类加载器的运行流程:1)loading:获取字节流 将可存储的字节流转换为运行时数据 在内存堆中生成class对象2)linking:veryfy:将字节流进行格式元数据字节码验证 prepare:为静态变量分配内存空间 reso...
2020-06-16 17:40:11
153
原创 Spark-Scheduler:一,概述
Spark Scheduler:DAGScheduler和TaskScheduler。构建的不同的RDD,因为代码逻辑组成了一个DAG。Spark提供了多种转换和动作,将复杂的拓扑隐藏掉,使用户简单的使用。任务调度逻辑视图由上图很容看出DAGScheduler是干嘛的。DAGScheduler根据依赖关系建立DAG,然后将DAG划分不同的Stage(阶段),然后每组由可以并发执行的一组Task构成。(这些Task逻辑完全相同只是作用的数据不同)由上图DAG在划分完DAG后,会将Stage里.
2020-06-16 17:38:39
479
原创 spark-stream:二、Flume概述
1、分布式日志手机框架Flume业务现状分析 Flume概述 Flume架构以及核心组组件 Flume环境实战 Flume实战2、Flume概述Fulume是Cloudera提供的一个分布式、高可靠、高可用的服务;每个技术框架的由来都是为了解决实际问题,那flume设计的目的用于分布式的海量日志的高效收集、聚合、移动的系统3、组件:source channel sink4、Flume环境部署前置条件:java7以上 足够内存 磁盘空间 读写权限 ...
2020-06-14 14:48:10
164
原创 spark-stream:一、前置介绍
一、学习路线1、视频以及网上资料2、github示例学习3、官网阅读4、手动实现代码案例二、spark版本介绍maven339,java1.8三、实时流处理 业务需求分析 统计主站每个(指定)课程访问的ip、地域信息分布 实现步骤 基于Hadoop实现方案 遇到问题如何解决 实时流处理背景 时效性高 数据量大 实时流处理概...
2020-06-08 23:25:10
164
原创 MapReduce
MapReduce原理介绍MapReduce框架介绍mapreduce模型通过命名就可以看出,其主要是由两个模块,一个是Map,另一个是rduce。map主要是负责对数据的分析处理最终转化为key-value数据对;Reduce类主要是获取数据对,然后统计处理得到结果。注意:MapReduce实现了存储的均衡,但是没有实现计算的均衡。MapReduce框架主要包括JobClient...
2020-04-02 00:31:08
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人