自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱磊的博客

记录学习过程,写写工作日常

  • 博客(16)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Spark 源码分析(九): Task 启动

前面已经分析到了 DAGScheduler 对 stage 划分,并对 Task 的最佳位置进行计算之后,通过调用 taskScheduler 的 submitTasks 方法,将每个 stage 的 taskSet 进行提交。在 taskScheduler 的 submitTasks 方法中会为每个 taskSet 创建一个 TaskSetManager,用于管理 taskSet。然后向调度池...

2019-07-08 17:01:07 285

原创 Spark 源码分析(八):DAGScheduler 源码分析2(task 最佳位置计算)

前面一篇文章已经讲了 DAGScheduler 中的 stage 划分算法。实际上就是每当执行到 RDD 的 action 算子时会去调用 DAGScheduler 的 handleJobSubmitted 方法,这个方法内部会根据当前的 RDD 创建一个 ResultStage,然后根据这个 ResultStage 对象创建一个 Job。再将这个 stage 对象传入 submitStage...

2019-07-03 23:40:07 426

原创 Spark 源码分析(七): DAGScheduler 源码分析1(stage 划分算法)

前面几篇文章已经说清楚了从 spark 任务提交到 driver 启动,然后执行 main 方法,初始化 SparkContext 对象。在初始化 SparkContext 对象的过程中创建了两个重要组件:一个是 TaskScheduler(实际上是他的实现类 TaskSchedulerImpl 对象),这个对象内部会持有一个 SchedulerBackend 对象,SchedulerBack...

2019-07-03 16:36:22 721

原创 Spark 源码分析(六): Executor 向 driver 进行注册

前一篇文章介绍了 Executor 进程的启动,最后启动的是 CoarseGrainedExecutorBackend,执行启动命令后会执行它的 main 方法,启动 CoarseGrainedExecutorBackend 进程。CoarseGrainedExecutorBackend 进程是 Executor 的守护进程,用户 Executor 的创建和维护。首先我们先看下 main 方法...

2019-07-02 18:24:32 508

原创 Spark 源码分析(五): Executor 启动

上一篇已经将 Application 注册到了 master 上了,在 master 收到注册消息后会进行一系列操作,最后调用 schedule 方法。这个 schedule 方法会去做两件事,一件事是给等待调度的 driver 分配资源,另一件事是给等待调度的 application 去分配资源启动 Executor。给 application 分配资源启动 Executor 的代码最终会调...

2019-07-02 17:39:21 410

原创 Spark 源码分析(四): Application 的注册

在前面一篇文章中分析到了 SparkContext 中的 TaskScheduler 创建及启动。在 StandaloneSchedulerBackend start 代码里除了创建了一个 DriverEndpoint 用于 standalone 模式下用来和 Executor 通信之外还会创建一个 AppClient。这个 AppClient 会向 Master 注册 Applicatio...

2019-07-02 16:02:57 337

原创 Spark 源码分析(三): SparkContext 初始化之 TaskScheduler 创建与启动

前面已经分析到了 driver 进程成功在某台 worker 上启动了,下面就开始执行我们写的那些代码了。以一个 wordcount 程序为例,代码如下: val conf = new SparkConf() .setAppName("WordCount") .setMaster("local") val sc = new SparkContext(conf) ...

2019-07-02 12:02:01 371

原创 Spark 源码分析(二): Driver 注册及启动

上一篇文章已经已经执行到 Client 向 masterEndpoint 发送了 RequestSubmitDriver 信息,下面就看看 master 怎么注册 driver 信息,并且怎么让 worker 去启动 driver 的。一,org.apache.spark.deploy.master.Master这个 Master 就是前面 Client 发送的对象,是一个 ThreadSaf...

2019-07-01 23:16:15 567

原创 Spark 源码分析(一):Spark Submit 任务提交

研究 Spark 内部是怎么运行的,怎么将 Spark 的任务从开始运行到结束的,先从 spark-submit 这个 shell 脚本提交用户程序开始。我们一般提交 Spark 任务时,都会写一个如下的脚本,里面指定 spark-submit 脚本的位置,配置好一些参数,然后运行:./bin/spark-submit \ --class <main-class> \ --...

2019-07-01 17:17:09 535

原创 Linux 指令之安装软件

在 Linux 上安装软件应该去官网下载比较好,比如去 JDK 的官网下载 JDK ,会给出这样的下载列表。对于 Linux 系统来说有三个安装包可以下载,格式分别为 rpm 和 deb 和 tar.gz 。tar.gz 是安装文件的压缩包,rpm 和 deb 分别是 CentOS 体系的 Linux 系统安装包和 Ubuntu 体系的安装包。1,安装软件下载各自平台的安装包之后,Cen...

2019-07-28 16:25:39 442

原创 Linux 指令之用户和密码

1,修改密码的指令为:passwd# passwdChanging password for user root.New password:按照这个命令可以输入新密码。2,创建用户的指令为:useradd useradd stone执行这个指令,一个用户就会被创建了。接下来可以自己调用 passwd stone 来设置密码,然后再登陆。切换用户可以使用 su stone 命令。...

2019-07-28 16:23:57 443

原创 hexo 博客迁移

今天把 mac 上的 hexo 博客迁移到 win 电脑上。1,安装 git;2,安装 Node.js;3,打开 git bash 客户端,输入 npm install hexo-cli -g ,开始安装 hexo;4,在 win 电脑上创建你要存放博客项目的文件夹,比如我是放在 D 盘的 blog 文件夹下的,就在 D 盘根目录下创建了 blog 文件夹;5,在 blog 文件夹下打开...

2019-07-26 16:36:59 422

原创 JVM 堆内存模型与 GC 策略

Java 中堆内存是 JVM 管理内存中最大的一块内存,同时又是 GC 管理的重要区域。Java 堆内存主要分成两个区域:1,年轻代。年轻代内部又分成了两个区,一个是 Eden 区,一个是 Survivor 区。Survivor 区又划分成两块,一块是 from 区,一块是 to 区;2,老年代。具体一点可以看图:一、年轻代IBM 公司的专业研究表明,有将近 98% 的对象是朝生夕...

2019-07-12 14:49:38 340 1

转载 Spark 内存管理详解(下):内存管理

本文转自:Spark内存管理详解(下)——内存管理本文最初由IBM developerWorks中国网站发表,其链接为Apache Spark内存管理详解在这里,正文内容分为上下两篇来阐述,这是下篇,上一篇请移步博客列表的上一篇文章。Spark内存管理详解(上)——内存分配 1. 堆内和堆外内存 2. 内存空间分配Spark内存管理详解(下)——内存管理 3. 存储内存管理 ...

2019-07-10 14:20:54 696

转载 Spark 内存管理详解(上):内存分配

本文转自:Spark 内存管理详解(上)——内存分配Spark作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中占据着非常重要的角色。理解Spark内存管理的基本原理,有助于更好地开发Spark应用程序和进行性能调优。本文旨在梳理出Spark内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于Spark 2.1版本,阅读本文需要读者有一定的Spark和Java基...

2019-07-10 14:20:03 1813

原创 Spark 中的 RPC

Spark 是一个 通用的分布式计算系统,既然是分布式的,必然存在很多节点之间的通信,那么 Spark 不同组件之间就会通过 RPC(Remote Procedure Call)进行点对点通信。Spark 的 RPC 主要在两个模块中:1,spark-core 中,主要承载了更好的封装 server 和 client 的作用,以及和 scala 语言的融合,它依赖 spark-network-...

2019-07-01 11:49:43 594

TabHostDemo

Android FragmentTabHost轻松实现微博主界面,相关解释在我的博客中:http://blog.csdn.net/zzz_zzz_z/article/details/51481378

2016-05-26

Android studio注册广播接收器的问题!

发表于 2015-09-25 最后回复 2015-09-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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