文章分类 - spark
摘要:override def receiveAndReply(context: RpcCallContext): PartialFunction[Any, Unit] = { case RequestSubmitDriver(description) => if (state != RecoverySt
        阅读全文
                
摘要:Spark Streaming 架构: 1,Spark Streaming为每个输入源启动对应的接收器。接收器以任务的形式运行在应用的执行器进程中,从输入源收集数据并保存为 RDD。 2,收集到输入数据后会把数据复制到另一个执行器进程来保障容错性(默 认行为)。数据保存在执行器进程的内存中,和缓存 RDD 的方式一样。 3,驱动器程序中的 StreamingContext 会周期...
        阅读全文
                
摘要:spark cache: 1,cache 方法不是被调用时立即缓存,而是触发后面的action时,该RDD将会被缓存在计算节点的内存中,并供后面重用 2, cache 是调用的 persist() 默认情况下 persist() 会把数据以序列化的形式缓存在 JVM 的堆空间中 3,cache 默认的存储级别都是仅在内存存储一份,Spark的存储级别还有好多种,存储级别在obje...
        阅读全文
                
摘要:Actor 通信架构: 1,Spark2.x 版本使用 Netty通讯框架作为内部通讯组件。spark 基于netty新的rpc框架借鉴了 Akka 的中的设计, 它是基于 Actor 模型 2,Endpoint( Client/Master/Worker)有 1 个 InBox 和 N 个 OutBox( N>=1,N 取决于当前 Endpoint 与多少其他的 Endpoint 进...
        阅读全文
                
摘要:存储内存管理:RDD的持久化 1,如果持久化的级别是纯磁盘级别,直接调用BlockManager的toPut方法写入磁盘 2,持久化的级别是内存级别,此时尝试使用 UnRoll方法,尝试将数据安全的保存的内存之中,如果内存不够,就会淘汰,再将数据写入内存之中 1),淘汰: 新的block缓存到内存不足时,淘汰掉旧的block 2),落盘:如果设定存储到磁盘,...
        阅读全文
                
摘要:变量传参: 1,在 spark 编写的程序之中是没有全局变量的,是因为在 driver设置的全局变量,在 execute 可以使用,但是不会返回给driver,除非使用累加器 2,累加器只能在 driver端进行使用,因为它是来自于 sc(只存在于 driver) package day01 import org.apache.spark.{Accumulator, SparkConf, S...
        阅读全文
                
摘要:关于shuffle 参数的说明: 1,参数一般成倍增加或者减少 2,可以再提交任务时,使用 -conf 来进行指定,这样比在代码之中或者spark-defaults.conf之中较好(相当于写死)一:spark.shuffle.file.buffer: 默认为 32k 参数说明:该参数用于设置shuffle write task的BufferedOutputStream的buff...
        阅读全文
                
摘要:RDD 依赖: 1,RDD 宽依赖(会有shuffle过程):父EDD与子RDD partition之间关系是一对多(groupByKey) 2,RDD 窄依赖:父EDD与子RDD partition之间关系是一对一(map,union等)或者多对一(多个分区看成逻辑上的 partition,合并成一个分区),多个父RDD也就有了shuffer过程 spark 计算模式: 1...
        阅读全文
                
摘要:shuffle 组件MapOutputTracker 磁盘管理小文件 1,主 MapOutputTrackerMaster(存在于Driver) 2,从 MapOutputTrackerWorker(存在于Executor)BlockManager 块管理者 1,BlockManagerMaster(存在于Driver) 1),DiskStore 管理磁盘数据 ...
        阅读全文
                
摘要:spark shuffle 过程分析:一普通机制: 1,首先 reduceBykey 是会将每一个 key 对应的所有value聚合成一个value,然后生成一个rdd,元素类型是形式,然后每一个k对应一个聚合起来的v 2,每一个k对应的v 不一定在一个节点之上,也不可能是在一个 partition中 3,聚合过程: 1),Shuffle Write 上一个map ...
        阅读全文
                
摘要:RDD编程API: 1,RDD中的所有转换(Transformation)都是延迟加载的,也就是说,它们并不会直接计算结果,只是记住这些应用到基础数据集(例如一个文件)上的转换动作。只有当发生一个要求返回结果给Driver的动作时,这些转换才会真正运行spark 常见算子总结(其一) package day02 import org.apache.spark.{SparkConf, Spa...
        阅读全文
                
摘要:RDD 的介绍: 1,一组分片。数据集的基本单位,每个分片都被一个计算任务进行处理,相当于集群分节点。默认是CPU的 core数,创建RDD过程可以指定分片数量 2,一个计算每个分区的函数,RDD之中计算是按照分片为单位的,每一个分片都会实现computer函数来达到这个目的 3,RDD的每一次转换都生成一个新的RDD,所以RDD之间形成流水线的前后依赖,如果RDD丢失,完全可以...
        阅读全文
                
摘要:spark简介: 1,spark 做为数据分析的一种平台,没有数据存储,强调的是基于内存的(相当吃内存)数据分析,内存不够也会磁盘进行计算! 2,可以运行很多的资源管理平台之上,比如 yarnspark 的启动: 1,通过spark-shell 进行启动(Standalone模式) #整个集群的 cpu 核数,单个节点的的内存 # 指定 master 相当于提交...
        阅读全文
                
摘要:spark on yarn 说明:(spark 使用 yarn 调度资源) Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度.YARN 分层结构的本质是 ResourceManager。这个实体控制整个集群并管理应用程序...
        阅读全文
                
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号