Spark Streaming Direct Approach (No Receivers) 分析
前言
- Spark Streaming 数据产生与导入相关的内存分析
- Spark Streaming 数据接收优化
- Receiver-based Approach
- Direct Approach (No Receivers)
DirectKafkaInputDStream
val kc = new KafkaCluster(kafkaParams)
- 获取对应Kafka Partition的untilOffset。这样就确定过了需要获取数据的区间,同时也就知道了需要计算多少数据了
- 构建一个KafkaRDD实例。这里我们可以看到,每个计算周期里,DirectKafkaInputDStream 和 KafkaRDD 是一一对应的
- 将相关的offset信息报给InputInfoTracker
- 返回该RDD
KafkaRDD 的组成结构
Direct Approach VS Receiver-based Approach
- 因为按需拉数据,所以不存在缓冲区,就不用担心缓冲区把内存撑爆了。这个在Receiver-based Approach 就比较麻烦,你需要通过spark.streaming.blockInterval等参数来调整。
- 数据默认就被分布到了多个Executor上。Receiver-based Approach 你需要做特定的处理,才能让 Receiver分不到多个Executor上。
- Receiver-based Approach 的方式,一旦你的Batch Processing 被delay了,或者被delay了很多个batch,那估计你的Spark Streaming程序离奔溃也就不远了。 Direct Approach (No Receivers) 则完全不会存在类似问题。就算你delay了很多个batch time,你内存中的数据只有这次处理的。
- Direct Approach (No Receivers) 直接维护了 Kafka offset,可以保证数据只有被执行成功了,才会被记录下来,透过 checkpoint机制。这个我会单独一篇文章来讲。如果采用Receiver-based Approach,消费Kafka和数据处理是被分开的,这样就很不好做容错机制,比如系统当掉了。所以你需要开启WAL,但是开启WAL带来一个问题是,数据量很大,对HDFS是个很大的负担,而且也会对实时程序带来比较大延迟。
限速
总结
Spark Streaming Direct Approach (No Receivers) 分析相关推荐
- Spark Streaming中的操作函数分析
参考文章:http://blog.csdn.net/dabokele/article/details/52602412 根据Spark官方文档中的描述,在Spark Streaming应用中,一个DS ...
- Spark Streaming 流式计算实战
这篇文章由一次平安夜的微信分享整理而来.在Stuq 做的分享,原文内容. 业务场景 这次分享会比较实战些.具体业务场景描述: 我们每分钟会有几百万条的日志进入系统,我们希望根据日志提取出时间以及用户名 ...
- Spark Streaming笔记整理(二):案例、SSC、数据源与自定义Receiver
[TOC] 实时WordCount案例 主要是监听网络端口中的数据,并实时进行wc的计算. Java版 测试代码如下: package cn.xpleaf.bigdata.spark.java.str ...
- sparkstreaming监听hdfs目录_大数据系列之Spark Streaming接入Kafka数据
Spark Streaming官方提供Receiver-based和Direct Approach两种方法接入Kafka数据,本文简单介绍两种方式的pyspark实现. 1.Spark Streami ...
- grafana计算不同时间的差值_大数据时代!如何基于Spark Streaming构建实时计算平台...
随着互联网技术的迅速发展,用户对于数据处理的时效性.准确性与稳定性要求越来越高,如何构建一个稳定易用并提供齐备的监控与预警功能的实时计算平台也成了很多公司一个很大的挑战. 自2015年携程实时计算平台 ...
- Spark Streaming 编程指南[中英对照]
2019独角兽企业重金招聘Python工程师标准>>> 基于Spark 2.0 Preview的材料翻译,原[英]文地址: http://spark.apache.org/docs/ ...
- Spark Streaming 图片处理案例介绍
Spark Streaming 图片处理案例介绍 本文首先介绍了流式处理框架的设计原理.Spark Streaming 的工作原理,然后通过一个基于 Spark Streaming 编写的读取.分析. ...
- Spark 定制版:015~Spark Streaming源码解读之No Receivers彻底思考
本讲内容: a. Direct Acess b. Kafka 注:本讲内容基于Spark 1.6.1版本(在2016年5月来说是Spark最新版本)讲解. 上节回顾 上一讲中,我们讲Spark Str ...
- Spark Streaming Backpressure分析
转载自:http://www.cnblogs.com/barrenlake/p/5349949.html# 1.为什么引入Backpressure 默认情况下,Spark Streaming通过Rec ...
最新文章
- 特斯拉AI日放大招!发布自研超算Dojo芯片,每秒可执行1024亿次计算
- Vuex源码学习(五)加工后的module
- [java进阶]1.Java读取txt文件和写入txt文件
- [今日干货]短视频获得种子用户的途径
- 正确使用AES对称加密
- 004-controller的使用
- 不是男人也要上100层:Unity专为AI开发了游戏,还启动了10万美元挑战赛
- 对CMMI标准的简单理解
- 移动web-使一个盒子水平垂直居中的六种方法
- Vue框架实例成员及项目搭建
- html用什么打开swf文件怎么打开,swf文件用什么打开,详细教您打开swf文件的操作...
- python 执行dos命令_对python中执行DOS命令的3种方法总结
- 论网站CDN的绕过姿势
- 这是什么意思admin.php,administratior是什么意思
- Java I/O体系(三)
- MATLAB2018B下用Faster-RCNN做目标检测的训练和测试步骤
- xquery_使用XQuery查询DB2 XML数据
- Redis 远程连接( redis.conf 配置 auth 认证 重启 redis)
- Microbit与Arduino的区别
- macOS 安装 wine