自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 第16课:Spark Streaming源码解读之数据清理内幕彻底解密

第16课:Spark Streaming源码解读之数据清理内幕彻底解密   本篇博客的主要目的是: 1. 理清楚Spark Streaming中数据清理的流程组织思路如下: a) 背景 b) 如何研究Spark Streaming数据清理? c) 源码解析一:背景 Spark Streaming数据清理的工作无论是在实际开发中,还是自己动手实践中都是会面

2016-05-31 16:14:32 778

原创 第15课:Spark Streaming源码解读之No Receivers彻底思考

背景:     目前No Receivers在企业中使用的越来越多。No Receivers具有更强的控制度,语义一致性。No Receivers是我们操作数据来源自然方式,操作数据来源使用一个封装器,且是RDD类型的。所以Spark Streaming就产生了自定义RDD –> KafkaRDD.源码分析: 1. KafkaRDD: ** * A batch-orient

2016-05-31 16:12:01 477

原创 第17课:SparkStreaming资源动态申请和动态控制消费速率原理剖析

为什么需要动态? a) Spark默认情况下粗粒度的,先分配好资源再计算。对于Spark Streaming而言有高峰值和低峰值,但是他们需要的资源是不一样的,如果按照高峰值的角度的话,就会有大量的资源浪费。b) Spark Streaming不断的运行,对资源消耗和管理也是我们要考虑的因素。 Spark Streaming资源动态调整的时候会面临挑战: Spark Str

2016-05-31 16:08:42 372

转载 第14课:Spark Streaming源码解读之State管理之updateStateByKey和mapWithState解密

背景: 整个Spark Streaming是按照Batch Duractions划分Job的。但是很多时候我们需要算过去的一天甚至一周的数据,这个时候不可避免的要进行状态管理,而Spark Streaming每个Batch Duractions都会产生一个Job,Job里面都是RDD,所以此时面临的问题就是怎么对状态进行维护?这个时候就需要借助 updateStateByKey和mapWi

2016-05-31 15:57:07 1290

原创 第12课:Spark Streaming源码解读之Executor容错安全性

本节从安全角度来讲解sparkstreaming,因为sparkstreaming会不断的接收数据、不断的产生job、不断的提交job。所以有一个至关重要的问题就是数据安全性。    由于sparkstreaming是基于sparkcore的之上的应用程序,如果借助于sparkcore之上的容错机制,保证数据安全性,sparkcore的RDD容错机制,保证了sparks

2016-05-22 16:35:27 720

原创 第10课:Spark Streaming 源码解读之流数据不断接收全生命周期彻底研究与思考

第10课:Spark Streaming 源码解读之流数据不断接收全生命周期彻底研究与思考 1、ReceiverSupervisor是处理Receiver接收的数据,“Receive”不断接收数据并把数据交给ReceiverSupervisor进行处理,ReceiverSupervisor接收到数据之后,会“存储数据”,之后把“信息”汇报给“ReceiverTrac

2016-05-22 16:23:15 767

原创 第13课:Spark Streaming 源码解读之Driver 容错安全性

第13课:SparkStreaming 源码解读之Driver 容错安全性     Driver端的容错包括ReceivedBlockTracker,JobGenerator,DStreamGraph三个层面的容错,这三者对于Driver端的元数据的容错至关重要。本期概览:、ReceivedBlockTracker从元数据容错层面谈driver容错2、JobGenerator,

2016-05-22 15:44:20 389

原创 第6课:Spark Streaming源码解读之Job动态生成和深度思考

一:Spark Streaming Job生成深度思考     1. 大数据项目当中,例如Hadoop,Spark等,如果不是流处理的话,一般会有定时任务。例如5分钟触发一次,1个小时触发一次,这就是做流处理的感觉,一切不是流处理,或者与流处理无关的数据都将是没有价值的数据,以前做批处理的时候其实也是隐形的在做流处理。    2. JobGenerator构造的时候有一个核心的参数是j

2016-05-22 15:09:29 630

原创 第11课:Spark Streaming 源码解读之Driver中ReceiverTracker架构设计及具体实现彻底研究

作者:谢彪(贵州松桃) 1、ReceiverTracker以Driver中具体的算法在具体的Executor之上启动Receiver,而且启动Receiver的方式是把每个Receiver封装成一个Task, Task是Job当中唯一的Task,实质上说,ReceiverTracker启动Receiver之时就会封装在一个个Job,有多个Job就有多个Receiver,即有多个Receiv

2016-05-22 14:45:03 499

原创 第8课:Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考

作者:谢彪(贵州松桃)1. Dsteam 与RD关系? 2. Spark Streaming中RDD生成研究? 一:实战WordCount源码如下:object WordCount {  defmain(args:Array[String]): Unit ={    val sparkConf =new    SparkConf().setMaster("M

2016-05-22 14:05:20 325

原创 第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考

作者:谢彪一:JobSheduler的源码解析    1、JobScheduler是SparkStreaming整个调度的核心,相当于Spark Core上的DAGScheduler.   2、SparkStreaming为啥要设置两条线程? setMaster指定的两条线程是指程序运行的时候至少需要两条线程,一条线程用于接收数据,需要不断的循环,而我们指定的线程数是用于作

2016-05-22 13:38:42 674

原创 第9课:Spark Streaming源码解读之Receiver在Driver的精妙实现全生命周期彻底研究和思考

一:Receiver启动的方式设想 1. Spark Streaming通过Receiver持续不断的从外部数据源接收数据,并把数据汇报给Driver端,由此每个Batch Durations就可以根据汇报的数据生成不同的Job,在不同的机器之上启动,每个reveiver 相当于一个分片,由于Sapark core 感觉不到它的特殊性,按普通的调度,即有可能在同一个Executor之中启动

2016-05-22 12:53:49 611

原创 第五课:Spark Streamingf 源码运行架构图

第五课:Spark Streamingf 源码运行架构图作者:大数据技术研发人员:谢彪一、运行架构图二二、SparkStreming 运行流程     (一)、在StreamingContext调用start方法的内部其实是会启动JobScheduler的Start方法,进行消息循环,在JobScheduler 的start内部会构造JobGener

2016-05-09 23:55:32 1260

原创 第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密:Spark Streaming运行机制和架构解析

一、运行案例代码如下:package com.dt.spark.sparksteamingimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.rdd.RDDimportorg.apache.spark.streaming.StreamingCon

2016-05-09 23:25:36 713

原创 第3课通过案例对SparkStreaming 透彻理解:解密SparkStreaming运行机制和架构进进阶之Job和容错

作者:大数据技术爱好者--谢彪一、集群上运行案例:package com.dt.spark.sparkstreamingimport org.apache.spark.SparkConf​importorg.apache.spark.streaming.{Seconds,StreamingContext} object OnlineForeachRDD2DB {  

2016-05-09 23:22:52 423

原创 第4课:Spark Streaming的Exactly-One的事务处理和不重复输出彻底掌握

作者:大数据研究人员:谢彪一、事务场景 :  以银行转帐一次为例,A用户转账给B用户,如何保证事务的一致性,即A用户能够转出且只能转出一次,B用户能够收到且只能收到一次。   SparkStreaming的事务处理和关系型数据库的事务的概念有所不同,关系型数据库事务关注的是语句级别的一致性,例如银行转账。而SparkStreaming的事务关注的是某次job执行的一致性。​Sp

2016-05-09 23:19:42 488

空空如也

空空如也

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

TA关注的人

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