spark工作机制见解

来源:互联网 发布:网络机顶盒浏览器下载 编辑:程序博客网 时间:2024/05/21 22:24

1.spark执行机制总览

     在Spark的底层实现中,通过RDD进行数据的管理,RDD中有一组分布在不同节点的数据块,当spark的应用在对这个RDD进行操作时,调度器将包含操作的任务分发到指定的机器上执行,在计算节点通过多线程的方式执行任务。一个操作执行完毕,RDD变转换为另一个RDD,这样,用户的操作依次执行。Spark为了系统的内存不至于快速用完,使用延迟执行的方式执行,即只有操作累计到Action(行动),算子才会触发整个操作序列的执行,中间结果不会单独再重新分配内存,而是在同一个数据块上进行流水线操作。

    在集群的程序实现上,有一个重要的分布式数据结构,即弹性分布式数据集。Spark实现了分布式计算和任务处理,并实现了任务的分发,跟踪,执行等工作,最终聚合结果,完成Spark应用的计算。

    对RDD的块管理通过BlockManager完成,BlockManager将数据抽象伪数据块,在内存或者磁盘进行存储,如果数据不在本节点,则还可以通过远端节点复制到本机进行计算。

    在计算节点的执行器Executor中会创建线程池,这个执行器将需要执行的任务通过线程池并发执行。

0 0
原创粉丝点击