- 博客(5)
- 收藏
- 关注
原创 图解Spark Shuffle的发展历程
一、Spark Hash Shuffle 基于Hash的Shuffle Write操作较为简单,这种Shuffle方式中,Shuffle Map Task会根据下游生成的Partition个数来创建中间文件来存储对应的Partition数据。如下图所示,下游生成3个Partition,此时每个Shuffle Map Task会生成3个中间文件来存储3个Partition中的数据。如...
2018-09-12 15:31:02
547
原创 Spark分区方式详解
一、Spark数据分区方式简要 在Spark中,RDD(Resilient Distributed Dataset)是其最基本的抽象数据集,其中每个RDD是由若干个Partition组成。在Job运行期间,参与运算的Partition数据分布在多台机器的内存当中。这里可将RDD看成一个非常大的数组,其中Partition是数组中的每个元素,并且这些元素分布在多台机器中。...
2018-09-11 11:24:25
12891
原创 Java设计模式之策略设计模式
二、策略设计模式 策略设计模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略设计模式使得算法可以在不影响到客户端的情况下发生变化。 策略设计模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类...
2018-09-06 16:31:01
183
原创 设计模式之单例模式
一、单例模式 在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于协调系统整体的行为并且避免了创建大量实例对象而带来的内存浪费。1、优点:在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例,简化对象实例的管理。 提供了对唯一实例的受控访问。 由于在系统内存中只存在一个对象,因此可以节...
2018-09-06 15:13:23
139
原创 Spark源码解析之Stage划分
这里以count操作为例,一步步解析Spark在执行一个Job时如何进行DAG图的解析。Spark在遇到Action类型算子时,会使用SparkContext进行一系列的runJob方法调用,最终会调用DAGScheduler的runJob方法来划分DAG图。一、runJob方法调用// 计算RDD中包含的键值对个数,此时会触发一个SparkContext来提交执行Job...
2018-08-31 20:37:45
712
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人