排序:
默认
按更新时间
按访问量

二次排序

    package cn.spark.study.core.upgrade.applog; import java.util.List; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaP...

2018-08-06 13:13:16

阅读数:46

评论数:0

Spark Streaming架构原理

2018-08-01 11:00:47

阅读数:40

评论数:0

Shuffle操作的原理与源码分析

普通的shuffle操作 第一个特点,     在Spark早期版本中,那个bucket缓存是非常非常重要的,因为需要将一个ShuffleMapTask所有的数据都写入内存缓存之后,才会刷新到磁盘。但是这就有一个问题,如果map side数据过多,那么很容易造成内存溢出。所以spark在新...

2018-07-25 16:05:13

阅读数:45

评论数:0

Task原理源码分析

在Executor类中的TaskRunner是执行Task的入口 进入updateDependencies()函数 进入Task类中的run()方法 在上面的Task的run方法中,调用了抽象方法,runTask(),那就意味着关键的操作都要依赖于子类的实现,Task的子类S...

2018-07-24 20:10:28

阅读数:33

评论数:0

Executor的原理

2018-07-24 15:28:51

阅读数:32

评论数:0

TaskScheduler原理与源码分析

接DAGScheduler源码分析stage划分算法,task最佳位置计算算法taskScheduler的submitTask()方法 在TaskScheduler类中 ①在SparkContext源码分析中,会创建TaskScheduler的时候,会创建一个SparkDeploySche...

2018-07-24 14:40:03

阅读数:30

评论数:0

DAGScheduler源码分析stage划分算法,task最佳位置计算算法

在DAGScheduler类中的HandleJobSubmitted是job调度的核心入口 进入了newStage()方法它会创建一个stage对象 进入submitStage()方法 进入getMissingParentStages方法() 进入submitWaiti...

2018-07-24 10:33:10

阅读数:129

评论数:0

Worker原理与源码剖析

在worker这个类中的LaunchDriver 一开始就创建了DriverRunner这个类 进入DriverRunner类 在创建完DriverRunner这个类后会调用start()这个方法 进入start()方法 进入createWorkingDirectory这...

2018-07-23 16:18:52

阅读数:31

评论数:0

Master资源调度算法原理剖析与源码分析

在Master类中的schedule方法是master的主要的资源调度的方法 首先是对driver进行调度 上面中的提交模式在基于YARN的两种提交模式中有介绍 进入 Random.shuffle()方法,主要的功能是随机打乱集合内的元素 进入到launchDriver(worke...

2018-07-23 11:24:23

阅读数:152

评论数:0

Master注册机制与源码剖析

Application的注册源码 进入createApplication 进入registerApplication方法   接下来是Master状态改变处理的机制源码分析(DriverStateChanged) 进入removeDriver()方法 接下来是E...

2018-07-22 20:11:58

阅读数:35

评论数:0

Master主备切换原理和源码剖析

completeRecovery()方法,主要就是完成Master的恢复 将Application和Worker,过滤出来目前状态还是UNKNOWN 然后遍历,分别调用removeWorker和finishApplication方法,对可能已经出故障,或者已经死掉的Application...

2018-07-22 16:00:22

阅读数:36

评论数:0

SparkContext源码分析

SparkContext初始化的时候会创建taskScheduler 进入createTaskScheduler方法 有spark-submit的三种提交模式: 这是我们常用的standdlone提交模式,在这种模式下会创建一个TaskSchedulerImpl,也会...

2018-07-22 13:35:55

阅读数:37

评论数:0

基于YARN的两种提交模式

yarn-cluster提交模式: 1,spark-submit提交,发送请求到ResourceManager请求启动ApplicationMaster; 2,ResourceManager分配container在某个nodemanager上,启动ApplicationMaster(相当于...

2018-07-22 09:10:24

阅读数:73

评论数:0

宽依赖和窄依赖

窄依赖:一个RDD,对它的父RDD,只有简单的一对一的依赖关系。也就是说,每个RDD的partition,仅仅依赖于父RDD中的一个partition。父RDD和子RDD的partition之间的关系是一对一的。 宽依赖:本质就是Shuffle,就是每一个父RDD的partition中的数据...

2018-07-22 08:54:42

阅读数:38

评论数:0

Spark内核架构深度剖析

1,通过spark-submit提交编写好的Spark程序,这时候spark会通过反射的方式,创建和构造一个DriverActor进程出来。 2,Driver进程会执行我们的Application应用程序,在代码中SparkContext在初始化的时候会构造出来DAGScheduler和Ta...

2018-07-21 20:16:12

阅读数:64

评论数:0

Spark架构原理

  1,编写的Spark程序在Driver上由Driver进程执行,Driver进程启动后,就会做一些初始化操作,在这个操作过程中就会发送请求到Master上,进行Spark应用程序的注册,就是让master知道有一个新的spark应用程序要运行。 2,Master接收到Driver的注册...

2018-07-21 16:48:21

阅读数:87

评论数:0

匿名内部类工厂模式

interface Service { void method1(); void method2(); }interface ServiceFactory { Service getService(); }public class Implementation1 implements Se...

2018-07-07 14:39:48

阅读数:34

评论数:0

对参数进行调优

查看linux的服务,可以关闭不必要的服务ntsysv停止打印服务#/etc/init.d/cups stop#chkconfig cups off关闭ipv6#vim /etc/modprobe.conf添加内容alias net-pf-10 offalias ipv6 off 调整文件最大打开...

2018-06-13 09:18:22

阅读数:165

评论数:0

从应用程序角度进行优化

(1) 避免不必要的reduce任务如果mapreduce程序中reduce是不必要的,那么我们可以在map中处理数据,Reducer设置为0。这样避免了多余的reduce任务。(2) 为job添加一个Combiner为job添加一个combiner可以大大减少shuffle阶段从map task...

2018-06-13 09:16:08

阅读数:32

评论数:0

hadoop框架中怎么来优化

(1)  从应用程序角度进行优化。由于mapreduce是迭代逐行解析数据文件的,怎样在迭代的情况下,编写高效率的应用程序,是一种优化思路。(2)  对Hadoop参数进行调优。当前hadoop系统有190多个配置参数,怎样调整这些参数,使hadoop作业运行尽可能的快,也是一种优化思路。(3) ...

2018-06-13 09:15:18

阅读数:137

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭