
Spark
文章平均质量分 83
askvinson
分享开源软件框架的自由精神
展开
-
RDD:基于内存的集群计算容错抽象
以下文章转载自:http://shiyanjun.cn/archives/744.html,不是本人编写。该文对RDD计算分析得很细,值得一看。该论文来自Berkeley实验室,英文标题为:Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing。下面的翻译,转载 2016-05-24 09:38:04 · 668 阅读 · 0 评论 -
Spark Streaming源码解读之Executor容错安全性
Receiver接收到的数据交由ReceiverSupervisorImpl来管理。ReceiverSupervisorImpl接收到数据后,会数据存储并且将数据的元数据报告给ReceiverTracker 。Executor的数据容错可以有三种方式:WAL日志数据副本接收receiver的数据流回放/** Store b原创 2016-05-24 21:47:44 · 381 阅读 · 0 评论 -
Spark Streaming源码解读之Driver中的ReceiverTracker架构设计以及具体实现彻底研究
上节课讲到了Receiver是如何不断的接收数据的,并且接收到的数据的元数据会汇报给ReceiverTracker,下面我们看看ReceiverTracker具体的功能及实现。一、 ReceiverTracker主要的功能:在Executor上启动Receivers。停止Receivers 。更新Receiver接收数据的速率(也就是限流)不断的等待Receivers的运行状态原创 2016-05-24 19:59:54 · 312 阅读 · 0 评论 -
Spark Streaming源码解读之流数据不断接收全生命周期彻底研究和思考
上一课我们讲解了Receiver启动的流程。Receiver是通过ReceiverSupervisor的start方法启动的:/** Start the supervisor */def start() { onStart() startReceiver()}首先会调用ReceiverSupervisor的onStart()方法,原创 2016-05-24 19:35:19 · 506 阅读 · 0 评论 -
Spark Streaming源码解读之Receiver在Driver的精妙实现全生命周期彻底研究和思考
在Spark Streaming中对于ReceiverInputDStream来说,都是现实一个Receiver,用来接收数据。而Receiver可以有很多个,并且运行在不同的worker节点上。这些Receiver都是由ReceiverTracker来管理的。在ReceiverTracker的start方法中,会创建一个消息通信体ReceiverTrackerEndpoint:原创 2016-05-24 19:31:49 · 466 阅读 · 0 评论 -
Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考
DStream是RDD的模板,每隔一个batchInterval会根据DStream模板生成一个对应的RDD。然后将RDD存储到DStream中的generatedRDDs数据结构中:// RDDs generated, marked as private[streaming] so that testsuites can access it@transientprivate[stre原创 2016-05-24 00:50:21 · 778 阅读 · 0 评论 -
Spark Streaming源码解读之JobScheduler内幕实现和深度思考
JobGenerator每隔batchInterval时间会动态的生成JobSet提交给JobScheduler。JobScheduler接收到JobSet后的处理流程(源代码十分清晰):def submitJobSet(jobSet: JobSet) { if (jobSet.jobs.isEmpty) { logInfo("No jobs added for time "原创 2016-05-24 00:32:45 · 365 阅读 · 0 评论 -
Spark Streaming源码解读之Job动态生成和深度思考
JobGenerator和ReceiverTracker的类对象是JobSchedule的类成员。从SparkStreaming应用程序valssc=StreamingContext(conf)入口开始,直到ssc.start()启动了SparkStreaming框架的执行后,一直到JobSchedule调用start(),schedule.start()调用了ReceiverTracker和Jo原创 2016-05-23 23:57:05 · 346 阅读 · 0 评论 -
基于案例一节课贯通Spark Streaming流计算框架的运行源码
1,在线动态计算分类最热门商品案例回顾与演示 代码如下package com.dt.spark.streaming_scalaimport org.apache.spark.SparkConfimport org.apache.spark.sql.Rowimport org.apache.spark.sql.hive.HiveContextim原创 2016-05-07 23:58:44 · 475 阅读 · 0 评论 -
Spark Streaming的Exactly-One的事务处理和不重复输出彻底掌握
一. 事务场景 : 以银行转帐一次为例,A用户转账给B用户,如何保证事务的一致性,即A用户能够转出且只能转出一次,B用户能够收到且只能收到一次。 二. Exactly once容错: 事务处理中如何保证能够处理且只能处理一次,数据能够输出且只能输出一次。 数据丢失的主要场景如下: 在Receiver收到数据且通过Driver的调度,原创 2016-05-07 23:44:22 · 665 阅读 · 0 评论 -
通过案例对SparkStreaming 透彻理解三板斧之三:解密SparkStreaming运行机制和架构进阶之Job和容错
事实上时间是不存在的,是由人的感官系统感觉时间的存在而已,是一种虚幻的存在,任何时候宇宙中的事情一直在发生着的。 Spark Streaming好比时间,一直遵循其运行机制和架构在不停的在运行,无论你写多或者少的应用程序都跳不出这个范围。一. 通过案例透视Job执行过程的Spark Streaming机制解析,案例代码如下:import org.apach原创 2016-05-07 23:38:27 · 347 阅读 · 0 评论 -
通过案例对SparkStreaming透彻理解三板斧之二:解密SparkStreaming运行机制和架构进阶之运行机制和架构
Spark大数据分析框架的核心部件: spark Core、spark Streaming流计算、GraphX图计算、MLlib机器学习、Spark SQL、Tachyon文件系统、SparkR计算引擎等主要部件. Spark Streaming 其实是构建在spark core之上的一个应用程序,要构建一个强大的Spark应用程序 ,spark Streaming是原创 2016-05-07 23:27:13 · 753 阅读 · 0 评论 -
通过案例对SparkStreaming透彻理解三板斧之一:解密SparkStreaming另类实验及SparkStreaming本质解析
一、从Spark Streaming入手为何从Spark Streaming切入Spark定制?Spark的子框架已有若干,为何选择Spark Streaming?让我们细细道来。1. Spark最开始只有Spark Core,没有目前的这些子框架。这些子框架是构建于Spark Core之上的。没有哪个子框架能摆脱Spark Core。我们通过对一个框架的彻底研究,肯定可以领原创 2016-05-07 23:02:00 · 875 阅读 · 0 评论 -
Spark Streaming源码解读之Driver容错安全性
Driver的容错有两个层面:1. Receiver接收数据的元数据 2. Driver管理的各组件信息(调度和驱动层面)元数据采用了WAL的容错机制case AddBlock(receivedBlockInfo) => if (WriteAheadLogUtils.isBatchingEnabled(ssc.conf, isDriver = true原创 2016-05-24 22:06:31 · 448 阅读 · 0 评论