自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

snail_gesture的博客

Deep Learning|Machine Learning|Spark

  • 博客(13)
  • 收藏
  • 关注

原创 Spark性能优化(3)

一:数据结构优化为啥要优化数据结构?减少内存使用,避免JVM由于语法特性导致的额外内存开销。1.      Java的对象:对象头是16个字节(例如指向对象的指针等元数据信息),如果对象中只有一个int的property,则此时会占据20个字节,也就是说对象的元数据占用了大部分的空间,所有在封装数据的时候尽量不要使用对象!例如说使用JSON格式来封装数据;2.      J

2016-02-29 19:55:47 535

原创 Spark性能优化(2)

一:Task性能优化 1. 慢任务的性能优化:可以考虑减少每个Partition处理的数据量,同时建议开启任务推测spark.speculation可以进行任务推测。最快完成的任务就会被采纳 慢任务出现的原因?任务倾斜,硬件故障。因为处理逻辑一样的话,时间差很多那么硬件就可能出现故障。Driver上有一个定时器不断的查看有没有慢任务。 2. 尽量减少Shuffle,例如我们要尽量减少gro

2016-02-29 16:40:45 635

原创 Spark性能优化(1)

一:Spark性能优化核心基石 1, Spark是采用Master-Slaves的模式进行资源管理和任务执行的管理: a) 资源管理:Master-Workers,在一台机器上可以有多个Workers,可以通过Spark-env.sh可以让每台host上有若干的Worker; b) 任务执行:Driver-Executors,在一台机器上Driver只有一个,当在一台机器上分配多个Wor

2016-02-29 16:12:55 864

原创 BlockManager初始化和注册,BlockManager核心方法详解

本篇博文的重要内容如下: 1. BlockManager的注册和初始化 2. BlockManager里面的重要函数详细介绍 先对一些基本概念名词介绍: Block是Spark数据处理的时候最小单位 一:BlockManager初始化 1. BlockManager的实例对象调用initializes的时候才能正常工作。

2016-02-20 00:04:07 2725

原创 BlockManager架构原理源码解析

本篇博文的主要内容如下: 1. BlockManager运行实例 2. BlockManager原理流程图 3. BlockManager源码解析 一:BlockManager运行实例观察 从Application启动的角度来观察BlockManager1. 在Application启动的时候还在SparkEnv中注册Bl

2016-02-19 23:33:03 1365

原创 Spark源码解读-TaskScheduler源码详解

简要: 本篇博文主要讨论的内容如下: 1. TaskScheduler与SchedulerBackend 2. FIFO与FAIR两种调度模式彻底解密 3. Task数据本地性资源分配源码实现 总体底层任务调度的过程如下: 1. DAGScheduler会把TaskSet通过submitTasks提交给TaskSchedul

2016-02-15 22:14:30 1476

原创 Spark源码解读-Taskscheduler源码解析

简要: 本篇博文主要讨论的内容如下; 1. Taskscheduler工作原理 2. Taskscheduler源码解密 前置知识: 一:TaskScheduler原理解密 1. DAGScheduler在提交TaskSet给底层调度器的时候是面向接口TaskScheduler的,这符合面向对象中依赖抽象而不依赖具体的

2016-02-15 21:46:03 1061

原创 第34课:Stage划分和Task最佳位置算法源码彻底解密

简介: 一:Stage划分算法解密 二:Task任务本地性算法实现 一:Stage划分算法解密 1.Spark Application中可以因为不同的Action触发众多的Job,也就是说一个Application中可以有很多的Job,每个Job是由一个或者多个Stage构成的,后面的Stage依赖于前面的Stage,也就是说只有前面依赖的Stage计算完毕后

2016-02-14 11:49:38 2136

原创 第33课:Spark Executor内幕彻底解密:Executor工作原理图、ExecutorBackend注册源码解密、Executor实例化内幕、Executor具体工作内幕

简要: 本篇博文主要讨论的内容如下; 1. Executor工作原理 2. ExecutorBackend注册源码解密 3. Executor实例化及具体如何工作 前置知识: 为啥Worker不直接启动Executor,而是启动另一个线程来启动Executor? 1. Worker是管理当前机器资源的,当当前机器的资源发生改变的时候,会将消息汇报给Master的。 2

2016-02-12 01:23:31 2382

原创 第16、17课Java零基础面向对象编程实战课堂笔记

简介: 本篇博文主要内容如下: 1. 类 2. 对象 3. 封装 4. 构造器

2016-02-04 23:21:48 872

原创 第14、15课Java数组与方法零基础编程实战课堂笔记

概要: 数组零基础实战 方法零基础实战 一. Java中一维数组 1. 数组:是一组相关数据的集合,数组中的数据类型一定是完全相同; 2. 数组的三种类型:一维数组,二维数组,多维数组; 3. 要使用数组,首先要声明数组,然后要分配具体的内存给数组; 代码实现:int scores[] = null; //声明scores为整型数组scores = new

2016-02-04 22:55:31 652

原创 第4讲:Scala模式匹配、类型系统彻底精通与Spark源码阅读

简介: 本篇文章主要要点有: Scala模式匹配彻底详解 Scala类型系统彻底详解 Spark源码阅读及作业 1. Scala模式匹配彻底详解 Scala中的模式匹配类似于java中的switch case,但是switch case是对值进行匹配,操作的对象也是值。Scala除了对值可以进行匹配外,还可以对类型进行匹配,也可以对集合,例如,map

2016-02-04 22:34:12 961

原创 第3讲:Scala函数式编程彻底精通

简介: 本篇博文主要是对Scala函数式编程的彻底详解,涉及高阶函数,闭包,颗粒化等详解。 1. Scala函数式编程 Scala中的函数的可以不依赖类或则借口,独立存在,甚至函数可以作为参数传递,可以直接赋值给变量。 Scala的函数式编程使得算法的设计可以更高效更精简,因为函数式是依赖人们的思考 方式构建的。 Scala的函数式编程是的开发代码行数更少。 Sp

2016-02-03 11:37:07 3882

空空如也

空空如也

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

TA关注的人

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