摘要:
https://www.youtube.com/watch?v=YWppYPWznSQ Databrick的spark 2015规划聚会的视频,看起来今年会在SQL和MLlib上发力多一点。来自为知笔记(Wiz) 阅读全文
摘要:
https://www.youtube.com/watch?v=YWppYPWznSQ Databrick的spark 2015规划聚会的视频,看起来今年会在SQL和MLlib上发力多一点。来自为知笔记(Wiz) 阅读全文
摘要:
http://docs.scala-lang.org/overviews/core/futures.html Futures and PromisesBy: Philipp Haller, Aleksandar Prokopec, Heather Miller, Viktor Klang, Roland Kuhn, and Vojin JovanovicIntroductionFutures ... 阅读全文
摘要:
先看一下原理性的文章:http://jerryshao.me/architecture/2013/10/08/spark-storage-module-analysis/,http://jerryshao.me/architecture/2013/10/08/spark-storage-module-analysis/ , 另外,spark的存储使用了Segment File的概念(http:... 阅读全文
摘要:
转自:http://blog.csdn.net/u014252240/article/details/41810849发布人:南京大学PASA大数据实验室顾荣1. Tachyon是什么Tachyon(/'tæki:ˌɒn/ 意为超光速粒子)是以内存为中心的分布式文件系统,拥有高性能和容错能力,能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。Tachyon诞生... 阅读全文
摘要:
无论是Hadoop还是spark,shuffle操作都是决定其性能的重要因素。在不能减少shuffle的情况下,使用一个好的shuffle管理器也是优化性能的重要手段。ShuffleManager的主要功能是在task直接传递数据,所以getWriter和getReader是它的主要接口。大流程: 1)需求方:当一个Stage依赖于一个shuffleMap的结果,那它在DAG分解的时候就能识... 阅读全文
摘要:
延迟调度算法的实现是在TaskSetManager类中的,它通过将task存放在四个不同级别的hash表里,当有可用的资源时,resourceOffer函数的参数之一(maxLocality)就是这些资源的最大(或者最优)locality级别,如果存在task满足资源的locality,那从最优级别的hash表。也就是task和excutor都有loclity级别,如果能找到匹配的task,那从匹... 阅读全文
摘要:
当某个task完成后,某个shuffle Stage X可能已完成,那么就可能会一些仅依赖Stage X的Stage现在可以执行了,所以要有响应task完成的状态更新流程。=======================DAG task完成后的更新流程===================->CoarseGrainedSchedulerBackend::receiveWithLogging --调... 阅读全文
摘要:
spark的Executor是执行task的容器。和java的executor概念类似。===================start executor runs task============================->CoarseGrainedExecutorBackend::receiveWithLogging --接收CoarseGrainedSchedulerBackend发... 阅读全文
摘要:
调度算法的最基本工作之一,就是比较两个可执行的task的优先级。spark提供的FIFO和FAIR的优先级比较在SchedulingAlgorithm这个接口体现。FIFO:--计算优先级的差。注意,在程序中,大部分时候是优先级的数字越小,它优先级越高--如果优先级相同,那么stage编号越靠前,优先级越高--如果优先级字段和stage id都相同,那么s2比s1更优先。(有这种情况?)FAIR... 阅读全文
摘要:
任务调度器的接口类。应用程序可以定制自己的调度器来执行。当前spark只实现了一个任务调度器TaskSchedulerImpl===================task scheduler begin====================-> TaskSchedulerImpl::submitTasks(taskSet: TaskSet) 处理接受task,它做了同步操作。 -> new ... 阅读全文
|