摘要: 1.Map系转换 Map转换算是 RDD 的经典转换操作之一了.就以它开头.Map的源码如下 1.1 sc.clean(f) 第一眼看见的就是一个 clean 函数.这是做什么的.来看看定义 说的非常清楚.clean 整理一个闭包,使其可以序列化并发送到任务.这里想明白.为什么会序列化闭包传送到任务 阅读全文
posted @ 2018-07-20 17:32 NightPxy 阅读(700) 评论(0) 推荐(1) 编辑
摘要: 1.概述 众所周知,RDD有五大特性. i). A list of partitions RDD是由多个分区(partition)组成的一个集合 ii). A function for computing each split 对RDD的每一个计算,等于对这个RDD的每一个分区执行一个计算 iii) 阅读全文
posted @ 2018-07-17 17:28 NightPxy 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 1.概述 由 Spark 集群篇 ,每个Spark应用(其中包含了一个SparkContext实例),都会运行一些独占的执行器(executor)进程.集群调度器会提供对这些 Spark 应用的资源调度. 而在各个Spark应用内部,各个线程可能并发地通过action算子提交多个Spark作业(jo 阅读全文
posted @ 2018-07-17 11:53 NightPxy 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 1.Spark的集群模式 1.1 集群中的组件 1.1.1 driver 一个Spark应用本身在集群中是作为一个独立进程运行的.它在main程序中通过SparkContext来进行协调.这个独立进程就是driver端 1.1.2 executor 为了运行在集群上.driver端的SparkCon 阅读全文
posted @ 2018-07-17 11:15 NightPxy 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 1.概述 Spark Streaming的主要应用方向是实时计算.这代表一个Spark Streaming应用必然是对执行性能和运行稳定性(7 x 24)有一定要求的 2.性能 在性能方面,主要是合理的利用的集群资源,设置正确的批处理大小(提升并行度)和减少每个批次的处理时间(计算逻辑优化).以让数 阅读全文
posted @ 2018-07-16 20:35 NightPxy 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 1.序列化调优 序列化在任何分布式应用程序的性能中起着重要的作用。 缓慢的对象序列化过程或消费大量字节的格式都将会大大减慢计算速度 Spark 宗旨在于方便(允许您使用操作中的任何 Java 类型)和性能(速度与消耗更少的资源)之间.Spark 提供了 Java , Kryo 两种序列化库 1.1  阅读全文
posted @ 2018-07-15 21:26 NightPxy 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 1.Persist 与RDD类似,DStream允许用户将流数据存至内存或磁盘(依据用户设置的持久化级别). 注意: 在DStream中,默认是存储到内存中.(RDD默认MEMORY_ONLY) 对于基于窗口的操作, 如 reduceByWindow 和 reduceByKeyAndWindow 以 阅读全文
posted @ 2018-07-15 01:15 NightPxy 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 输出操作允许将 DStream 的数据推送到外部系统, 如数据库或文件系统. 由于输出操作实际上允许外部系统使用变换后的数据, 所以它们触发所有 DStream 变换的实际执行(类似于RDD的Action) Spark Streaming 定义了如下输出操作 print() 在运行流应用程序的 dr 阅读全文
posted @ 2018-07-10 23:22 NightPxy 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 1.概论 在Spark Streaming中,流数据被抽象有DStream.DStream本质是RDD(一批一批的RDD). 所以Spark Streaming操作本质是RDD操作=>转换和操作,并且带有RDD操作的一切特征.(lazy等等) 2.DStream-转换(Transformations 阅读全文
posted @ 2018-07-10 23:19 NightPxy 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 1.Input DStreams 和 Receivers Spark Streaming的输入由两个部分组成 Input DStream 和 Receiver Input DStream 代表的是从数据源接收到由输入数据组成的数据流 Receiver 是从数据源获取数据并写入Spark内存的实际执行 阅读全文
posted @ 2018-07-10 23:17 NightPxy 阅读(279) 评论(0) 推荐(0) 编辑