沧海一粟

More know, more less

Spark 2.1.0 大数据平台源码分析:章节序列

Spark 2.1.0 大数据平台源码分析:章节序列

2017-07-27 07:13:57

阅读数:2631

评论数:1

大数据:Spark mlib(三) GradientDescent梯度下降算法之Spark实现

1. 什么是梯度下降?梯度下降法(英语:Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。先来看两个函数:1.  拟合函数:&#x03B...

2017-07-10 15:24:34

阅读数:2223

评论数:0

大数据:Spark 算子(一)排序算子sortByKey来看大数据平台下如何做排序

1 前言在前面一系列博客中,特别在Shuffle博客系列中,曾今描述过在生成ShuffleWrite的文件的时候,对每个partition会先进行排序并spill到文件中,最后合并成ShuffleWrite的文件,也就是每个Partition里的内容已经进行了排序,在最后的action操作的时候需...

2017-06-26 16:42:13

阅读数:3234

评论数:0

大数据:Spark mlib(二) Naive bayes朴素贝叶斯分类之多元朴素贝叶斯源码分析

1. 什么是朴素贝叶斯朴素贝叶斯是一种构建分类器,该分类器基于一个理论:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关2. 朴素贝叶斯概率模型概率模型分类器是一个条件概率模型:(独立的类别特征C有若干类别,条件依赖于若干特征变量F1,F2,...,Fn)      贝叶斯定理:  我们可...

2017-06-23 14:36:26

阅读数:1596

评论数:0

大数据:Spark mlib(一) KMeans聚类算法源码分析

1. 聚类1.1 什么是聚类?所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用算法将集合D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高,其中每个子集叫做一个簇。1.2 KMeans 聚类算法K-Means聚类算法主要分为如下几个...

2017-06-09 12:22:17

阅读数:2901

评论数:0

大数据:Spark Shuffle(三)Executor是如何fetch shuffle的数据文件

1. 前言在前面的博客中讨论了Executor, Driver之间如何汇报Executor生成的Shuffle的数据文件,以及Executor获取到Shuffle的数据文件的分布,那么Executor是如何获取到Shuffle的数据文件进行Action的算子的计算呢?在ResultTask中,Ex...

2017-05-09 17:13:48

阅读数:3062

评论数:0

大数据:Spark Shuffle(二)Executor、Driver之间Shuffle结果消息传递、追踪

1. 前言在博客里介绍了ShuffleWrite关于shuffleMapTask如何运行,输出Shuffle结果到文件Shuffle_shuffleId_mapId_reduceId.data文件中,每个executor需要向Driver汇报当前节点的Shuffle结果状态,Driver保存结果信...

2017-05-03 15:07:08

阅读数:2722

评论数:0

大数据:Spark Shuffle(一)ShuffleWrite:Executor如何将Shuffle的结果进行归并写到数据文件中去

1. 前序关于Executor如何运行算子,请参考前面博文:大数据:Spark Core(四)用LogQuery的例子来说明Executor是如何运算RDD的算子,当Executor进行reduce运算的时候,生成运算结果的临时Shuffle,并保存在磁盘中,被最后的Action算子调用,而这个阶...

2017-04-27 11:44:32

阅读数:3825

评论数:1

大数据:Spark Core(四)用LogQuery的例子来说明Executor是如何运算RDD的算子

1. 究竟是怎么运行的?很多的博客里大量的讲了什么是RDD, Dependency, Shuffle... 但是究竟那些Executor是怎么运行你提交的代码段的?下面是一个日志分析的例子,来自Spark的example def main(args: Array[String]) { v...

2017-04-22 23:15:19

阅读数:2538

评论数:0

大数据:Spark Core(三)Executor上是如何launch task

1. 启动任务在前面一篇博客中(http://blog.csdn.net/raintungli/article/details/70168241#t9)介绍了Driver是如何调动、启动任务的,Driver向Executor发送了LaunchTask的消息,Executor接收到了LaunchTa...

2017-04-19 17:48:23

阅读数:2504

评论数:1

大数据:Spark Core(二)Driver上的Task的生成、分配、调度

1. 什么是Task? 在前面的章节里描述过几个角色,Driver(Client),Master,Worker(Executor),Driver会提交Application到Master进行Worker上的Executor上的调度,显然这些都不是Task. Spark上的几个关系可以这样理解: ...

2017-04-14 09:21:46

阅读数:6045

评论数:0

大数据:Spark Core (一) 什么是RDD的Transformation和Actions以及Dependency?

Spark的RDDRDD(Resilient Distributed Datasets),弹性分布式数据集,是对分布式数据集的一种抽象。RDD所具备5个主要特性:一组分区计算每一个数据分片的函数RDD上的一组依赖对于Key Value 对的RDD,会有一个Partitioner, 这是数据的分割器...

2017-04-07 17:21:36

阅读数:2623

评论数:0

大数据:Spark Standalone 集群调度(三)多Master节点的可用性

1. Master 单节点可用性 Master节点在Spark中所承载的作用是分配Application到Worker节点,维护Worker节点,Driver,Application的状态。 在Spark中,Master本身也提供了基于硬盘的单节点的可用性,也就是可以直接通过重启Master,M...

2017-04-01 09:37:53

阅读数:6229

评论数:0

大数据:Spark Standalone 集群调度(二)如何创建、分配Executors的资源

Standalone 的整体架构 在Spark集群中的3个角色Client, Master, Worker, 下面的图是Client Submit 一个任务的流程图: 完整的流程:Driver 提交任务给Master, 由Master节点根据任务的参数对进行Worker的Executor的...

2017-03-29 17:37:33

阅读数:2959

评论数:5

大数据:Spark Storage(二) 集群下的broadcast

Spark BroadCast Broadcast 简单来说就是将数据从一个节点复制到其他各个节点,常见用于数据复制到节点本地用于计算,在前面一章中讨论过Storage模块中BlockManager,Block既可以保存在内存中,也可以保存在磁盘中,当Executor节点本地没有数据,通过Driv...

2017-03-21 17:28:21

阅读数:3259

评论数:0

大数据:Spark Storage(一) 集群下的区块管理

Storage模块 在Spark中提及最多的是RDD,而RDD所交互的数据是通过Storage来实现和管理 Storage模块整体架构 1. 存储层 在Spark里,单机storage的管理是通过block来管理的,用每个块的存储可以在内存里或者在磁盘中,在BlockManager里既可以管理内存...

2017-03-21 09:26:48

阅读数:5188

评论数:1

大数据:Spark Standalone 集群调度(一)从远程调试开始说application创建

远程debug,特别是在集群方式时候,会很方便了解代码的运行方式,这也是码农比较喜欢的方式 虽然scala的语法和java不一样,但是scala是运行在JVM虚拟机上的,也就是scala最后编译成字节码运行在JVM上,那么远程调试方式就是JVM调试方式 在服务器端: -Xdebug -Xrun...

2017-03-09 17:41:55

阅读数:3674

评论数:0

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