![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
liyaohhh
这个作者很懒,什么都没留下…
展开
-
spark大数据入门(三)--RDD的简单解析
什么是RDD RDD是弹性分布式数据集的简称,她具有以下的优点:第一RDD具有并行化的操作特点,通俗的说,在RDD中存在一定数量的分片,每一个分片都会对应一个task,这些Task是可以并发烦人执行。第二,RDD具有很好的容错处理,这个特性是由RDD的血统依赖产生的,RDD1---->RDD2---->RDD3,这单个RDD一次又前面的那产生,同事RDD又具有不变的性质,当RDD3发原创 2015-12-11 12:31:58 · 3343 阅读 · 2 评论 -
spark源码编译
#spark源码编译–基于spark1.5.2和hadoop2.5.0##环境准备 spark的源码是用scala编写的,这里我们首先需要的是配置scala的环境变量,注意spark1.5.2的在用maven编译源码的时候需要的是mave3.3.3的版本,不要搞错了。这里的环境不想hadoop编译那样的麻烦,只需要mave3.3.3以上的版本以及向对应scala版本就可以。 ex原创 2015-12-06 10:22:19 · 856 阅读 · 0 评论 -
spark源码学习(七);task任务的提交分析
spark入门学习;task任务的提交分析 spark虽然在计算速度上比hadoop要强势很多,但是这两个框架在底层的数据流都要经过shuffle。由此,shuffle把spark的job分成两个阶段,一个叫做shuffleMaptask,另外一个是resultTask。前者主要是把运算所得的数据结果写到指定的位置,后者是从对应的位置读取数据然后再把运行的结果提交给客户端,为原创 2016-02-23 19:10:13 · 1661 阅读 · 0 评论 -
spark源码学习(六):standalone模式的cluster集群源码解读
在spark任务的提交的那片blog中,我们仅仅谈到了executor相关的概念:Execuor会向driver注册,然后driver在给它对应的注册信息成功的消息。但是在spark的生态系统中,Driver Application,master,worker,executor,到底是怎样相互通信的呢?通信的具体流程又是如何的呢?看看下图我们在金星稍作解释: 上图的案例启动过原创 2016-02-27 12:10:23 · 1466 阅读 · 0 评论 -
spark源码学习(一):sparkContext的初始化分析(一)
spark源码学习:sparkContext的初始化分析 spark可以运行在本地模式local下,可以运行在yarn和standalone模式下,但是本地程序是通过什么渠道和这些集群交互的呢?那就是sparkContext,他在spark生态系统中的作用不言而喻,绝对是最重要的,整体架构如图所示: 这里我们简单的来剖析一下,sparkContext在初始化原创 2016-02-25 12:49:32 · 4672 阅读 · 0 评论 -
spark源码学习(二):sparkContext的初始化分析(二)
spark源码学习:sparkContext的初始化分析(二) spark的sparkContext初始化中的sparkEnv相关的概念以及重要的组成部分在上一部分简单的介绍 ,这篇简单的介绍一下和DAGScheduler,taskSetManager,SchedulerBackend,taskScheduler等等一些和sparkContext初始化相关的概念,这里讨原创 2016-02-25 17:05:05 · 1192 阅读 · 0 评论 -
spark源码学习(三):job的提交以及runJob函数的分析
spark源码学习:sparkContext的初始化分析(三) 上一篇仅仅谈及了taskScheduler和schedulerBackend相关的代码。这篇blog记录一下和DAGScheduled相关的代码。DAGScheduled是底层的面向stage调度的划分,还会去跟踪哪些RDD和stage的输出已经物化,并且去找到一个最优的执行方案,也就是指这种调度花费的资源原创 2016-02-25 20:43:26 · 3242 阅读 · 0 评论 -
spark源码学习(四):Resultstage的产生和submitstage提交
spark源码学习:sparkContext的初始化分析(四) 上次我们对于stage的划分没有详细的划分,这里就来看看这些stage到底是通过什么流程来实现的。稍微的说一下,这次的程序进入的接口是从上次的Onreceive方法进入的。由里面的JobSubmitted模式来匹配。进入这个方法来分析具体的流程操作。首先进入JobSubmitted方法:原创 2016-02-25 23:37:42 · 2372 阅读 · 0 评论 -
spark源码学习(五):stage的划分和task的创建
spark源码学习:sparkContext的初始化分析(五) 上一篇blog简单的阐述了和Resultstage和ActiveJob创建相关的源码,在这里我们接着上次没说完的submitStage,getMissingParentStages,submitMissingTasks两个函数开始.后面的这两个函数是在第一个函数里面调用的。 submitStage原创 2016-02-26 08:56:44 · 1063 阅读 · 0 评论 -
spark源码学习(十一):资源的调度Schedule
spark源码学习(十一):资源的调度Schedule 在前面stabdalone模式下当worker向master注册成功之后,master会运行一个schedule函数来调度资源,当时并没有进行深入的剖析,这里就简单的来看看schedule的资源调度函数,说白了就是master是如何把每一个executor分配给application去处理任务的呢?下面来看看的具体的代码:原创 2016-03-04 15:44:40 · 1074 阅读 · 0 评论 -
spark源码学习(九):map端计算结果缓存处理(一)
spark源码学习(九):map端计算结果缓存处理(二) 在前面我们谈到了在map任务结束之后,map任务会对结果进行三种方式的处理,这里来看看具体的代码,就是进入ExternalSorter的insertAll方法去看看。这里的代码主要分为三个部分,三个if代码块儿分别对应着在map端执行局合,直接写入partition的存储块儿,简单的对计算结果进行缓存。代码如下所示:原创 2016-03-04 11:59:33 · 1664 阅读 · 0 评论 -
spark源码学习(十):map端计算结果缓存处理(二)
spark源码学习(九):map端计算结果缓存(一) 在介绍下面的内容之前,先介绍几个相关的概念: (1) bypassMergeThreshold:表示是在map端做合并还是在reduce端做合并的一个参考数值。当partitions的个数小于这个阈值的时候,不需要在executor执行聚合和排序操作,只需要把各个partition写到executor的存原创 2016-03-01 07:43:16 · 1589 阅读 · 0 评论 -
spark sql学习入门
spark SQL的DataFrame的操作以及和RDD的转换相关概念: spark的核心是RDD,它是弹性分布式数据集,对应着一系列的操作。Spark SQL是spark中数据处理的的一个模块,提供了抽象的数据操作方法,可以分布式的查询数据集,叫做DataFrame。另外,sparkSQL还可以从现有的数据集例如从hive种直接读取数据,具体的可以去查看这里查看原创 2016-02-15 12:11:47 · 1154 阅读 · 0 评论 -
spark入门笔记(二)spark的stanalone模式
hadoop是企业中是运行在yarn模式上的,他也有自己的本地运行模式,也就是只有一个JVM进程。除了yarn之外,还提供了Mesos 集群资源管理。但是spark还提供了standalone模式,可以手动的在该模式集群下启动master和work节点,还可以仅仅在单节点的环境下运行这些进程,该模式又分为两种方式,cluster模式和client模式。spark-shell是不支持cluster模原创 2015-12-09 16:19:51 · 2383 阅读 · 0 评论 -
spark大数据入门(一)如何在windows下部署spark开发环境
spark机器学习: spark现如今在大数据领域有着很重的地位,lz最喜欢的是基于spark之上的机器学习,也就是MlIB,这是基于分布式环境下的机器学习的开发库,简单的来说就是开发及机器学习的API。稍微的提及一下,分布式环境下的机器学习算法的开发,算法核心原理并不会发生变化,但是由于是大量的数据,我们需要的是注意如何减小系统IO流的压力。举个例子来说,我们知道随机森林下面会涉原创 2015-12-07 14:58:38 · 11065 阅读 · 0 评论 -
spark源码学习(八):spark具体是如何使用集群的资源去运行任务
spark源码学习(八):spark具体是如何使用集群的资源去运行任务 在前面的blog中谈到了sparkContext,DAGScheduler的初始化,TaskSeceduler的启动。Driver,Master,Worker,Executor相关的注册和消息传递。还有resultStage,ActiveJob的创建以及stage的提交,划分,ShuffleMapT原创 2016-02-28 12:43:20 · 1871 阅读 · 0 评论