spark
IWBS
活得跟狗一样
展开
-
Spark-Speculative Task
背景: 分布式计算模型中,如Hadoop的MR,Spark的RDD,在任务处理过程中经常会出现某个Task执行很慢,拖慢了整个批次计算。为解决此问题,Hadoop提出来了Speculative Task方案。思路: 监控每个Task执行情况,对慢于平均进度(或者其它可以衡量进度的指标)的Task重新启动一个Task,结果集用率先完成的Task,并Kill另外没有执行完...原创 2019-08-05 17:21:57 · 511 阅读 · 0 评论 -
延迟调度总结
流式计算的调度复杂性在于需要考虑公平性和数据本地化。FIFO调度FIFO是一个简单的调度策略,适合用于作业并发少,或者无作业并发,且作业的map任务数量大,最好是大于等于集群的slot数量。FIFO调度中经典的两个问题head-of-line小作业,多作业并发的场景,量化数据本地化的公式为,为总的slot,为map任务需要的slotsticky slots大作业,多作业并发...原创 2019-07-05 15:53:13 · 2563 阅读 · 0 评论 -
延迟调度(A Simple Technique for Achieving Locality and Fairness in Cluster Scheduling)
2. 背景Hadoop实现了类似Google的MapReduce。Hadoop运行在一个称为HDFS人分布式文件系统上,类似GFS每个数据块存储三份副本。用户提交的作业由一个map函数和一个reduce函数组成。Hadoop拆解每个job为多个task。首先,map任务处理每个输入的数据块(物理大小为64MB)并以键值对方式生成中间结果。每个输入数据块对应一个map任务。接下来,reduce ...翻译 2019-07-04 20:06:51 · 1252 阅读 · 0 评论 -
Spark之Task状态与异常
目录Task状态Task 异常Task状态与异常Task状态TaskState对Task的生命周期定义了6个状态,每种状态会做不同的处理。Launching:Task已经从Driver侧发送给了Executor侧(被DAGScheduler调度了,Task是通过Endpoint发出,RDD和Stage由BroadCast广播)Running:Executor正在执...原创 2019-04-28 16:12:30 · 1721 阅读 · 0 评论 -
Spark之Task构建
我们已经知道DAGScheduler通过RDD算子构建DAG,再基于RDD算子之间的宽、窄依赖来切分所涉算子,最终得到一个Stage集合。每个Stage再基于Partitioner生成Task,Task集合包装成TaskSet(可能会管道化),最终TaskSet包装成TaskSetManager。注意: TaskSetManager实现了Schedulable的调度能力,这样把Task、S...原创 2019-04-28 15:35:04 · 376 阅读 · 0 评论 -
Spark之Task的定义
一个供Executor执行的可执行的逻辑单元,Spark目前提供了两类Task,分别为ShuffleMapTask和ResultTask。Job会由一个或者多个Stage,一个Spark Job基于Stage构建成逻辑执行计划和物理执行计划。如: Job A={S1,S2,S3} 由三个Stage构成,那么S1、S2会由ShuffleMapTasks构成,S3作为Job的最后一个Stage由多个R...原创 2019-04-28 15:23:49 · 2837 阅读 · 0 评论 -
Netty相关介绍
Spark使用Netty作为网络通住框架,顺带研究了下Netty,把今天成果总结下,后面持续更新。目录架构介绍Reactor模式内存模型架构介绍Netty由Core、Transport Services、Protocol Support三部分组成。Core主要由三部分组成,分别是Zero-Copy-Capable Rich Byte Buffer、Universal C...原创 2019-04-12 19:18:40 · 350 阅读 · 0 评论 -
Spark Streaming序言(流式计算概览)
上半部分已经系统性的介绍了RDD模型及实现,下半部分介绍Spark的D-Streams模型原理及D-Streams模型的实现框架Spark Streaming的具体实现以及在大规模流处理上的应用。文章中的原理章节有部分参考和借鉴了<An Architecture for Fast and General Data Processing on Large Clusters >、<G...原创 2019-04-11 20:17:54 · 442 阅读 · 0 评论 -
Spark-Listener(事件驱动的异步化编程框架)
事件驱动的异步化编程事件驱动的异步化编程EventListenerListenerBus事件驱动的异步化编程 我们以前经常看到基于事件的监控,基于事件的数据采集等等,Spark-Core内部的事件框架实现了基于事件的异步化编程模式。它的最大好处是可以提升应用程序对物理资源的充分利用,能最大限度的压榨物理资源,提升应用程序的处理效率。缺点比较明显,降低了应用程序的可读性。Spark的基于事件...原创 2019-04-11 14:59:45 · 1792 阅读 · 0 评论 -
Spark之任务调度
目录调度模式调度时机可调度任务任务级别Schedulable属性方法SchedulableBuilder排序算法FIFOSchedulingAlgorithm.comparatorFairSchedulingAlgorithm.comparator任务调度器PreferredLocationPending TaskTask调度器...原创 2019-08-21 01:01:26 · 561 阅读 · 1 评论