文档章节

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

 大家风范
发布于 2016/05/29 19:12
字数 390
阅读 8
收藏 0

通常我们使用kafka direct的方式使用的是没有自定offset的构造函数

val kc = new KafkaCluster(kafkaParams) 完完全全就是kafka的操作了

我们看看val fromOffsets = getFromOffsets(kc, kafkaParams, topics)

这是得到消费的起始位置。如果在kafkaParams==kafkaParams的时候会重头开始消费数据。而不等于的时候会从最近最新消费的位置进行消费数据。

下面是两种处理方式的代码:最终返回fromOffsets

接下来实例化了DirectKafkaInputDStream

 

看看最重要的compute 方法: 获得了 offset的结束,然后创建了KafkaRDD。

在将相关信息汇报给Taker。最终返回Some(rdd)

 

 Direct方式的好处:

  没缓存,就没内存溢出。

  Receiver方式会和Worker的Executor绑定,不方便做分布式(当然已有技巧做到分布式了)。RDD的Direct方式可以容易地做到分布式。

  Receiver方式在数据来不及及时处理而持续延时下去的话,Spark Streaming就有可能崩溃。Direct方式则不会出现这种情况,因为延迟了,就不会做后面的处理。

  完全的语义一致性,确保数据一定会消费,而且不会重复消费。

  Direct方式比Receiver方式性能高。

  根据自己的InputDStream进行配置,可以设置很多DStream。

  backpressure参数很先进。可以试探流进来的速度和当前的处理能力是否一致。如果不一致可以动态调整资源。

 

© 著作权归作者所有

粉丝 0
博文 19
码字总数 18058
作品 0
万州
私信 提问
Spark Streaming源码解析之Job动态生成

---title: sparkStreaming源码解析之Job动态生成subtitle: sparkStream的Job动态生成思维脑图description: sparkStream的Job动态生成思维脑图keywords: [spark,streaming,源码,JOB]author: ...

freeli
2018/12/07
38
0
[Spark]Spark Streaming 指南四 输入DStreams和Receivers

1. 输入DStream与Receiver 输入DStreams表示从源中获取输入数据流的DStreams。在指南一示例中,lines表示输入DStream,它代表从netcat服务器获取的数据流。每一个输入DStream(除 file strea...

sjf0115
2017/03/02
0
0
Spark Streaming 中使用kafka低级api+zookeeper 保存 offset 并重用 以及 相关代码整合

在 Spark Streaming 中消费 Kafka 数据的时候,有两种方式分别是 1)基于 Receiver-based 的 createStream 方法和 2)Direct Approach (No Receivers) 方式的 createDirectStream 方法,详细...

cql252283126
2018/04/13
0
0
【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第1节②

三、你为什么需要Spark; 你需要Spark的十大理由: 1,Spark是可以革命Hadoop的目前唯一替代者,能够做Hadoop做的一切事情,同时速度比Hadoop快了100倍以上: Logistic regression in Hadoo...

Spark亚太研究院
2014/12/16
432
2
Spark Streaming 反压(Back Pressure)机制介绍

文章目录 1 背景 2 反压机制 3 Spark Streaming 反压机制的使用 背景 在默认情况下,Spark Streaming 通过 receivers (或者是 Direct 方式) 以生产者生产数据的速率接收数据。当 batch proc...

Spark
2018/05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【0918】正则介绍_grep

【0918】正则介绍_grep 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 一、正则介绍 正则是一串有规律的字符串,它使用单个字符串来描述或匹配一系列符合某个语法规则的字符串。 二、grep工具 ...

飞翔的竹蜻蜓
32分钟前
4
0
为什么要在网站中应用CDN加速?

1. 网页加载速度更快 在网站中使用CDN技术最直接的一个好处就是它可以加快网页的加载速度。首先,CDN加速的内容分发是基于服务器缓存的,由于CDN中缓存了不少数据,它能够给用户提供更快的页...

云漫网络Ruan
今天
8
0
亚玛芬体育(Amer Sports)和信必优正式启动合作开发Movesense创新

亚玛芬体育和信必优正式启动合作开发Movesense创新,作为亚玛芬体育的完美技术搭档,信必优利用Movesense传感器技术为第三方开发移动应用和服务。 Movesense基于传感器技术和开放的API,测量...

symbiochina88
今天
4
0
创龙TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA核心板规格书

SOM-TL437xF是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA芯片设计的核心板,采用沉金无铅工艺的10层板设计,适用于高速数据采集和处理系统、汽车导航、工业自动化等领...

Tronlong创龙
今天
5
0
好程序员Java学习路线分享MyBatis之线程优化

  好程序员Java学习路线分享MyBatis之线程优化,我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问...

好程序员官方
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部