Spark Streaming 理解之实时处理与流处理
来源:互联网 发布:网络运维工程师面试题 编辑:程序博客网 时间:2024/04/30 05:59
转载自:实时处理与流处理 http://blog.csdn.net/dc_726/article/details/41143225
正文:要说实时处理就得先提一下实时系统(Real-timeSystem)。所谓实时系统就是能在严格的时间限制内响应请求的系统。例如如果某系统能严格保证在10毫秒内处理来自网络的NASDAQ股票报价,那么这个系统就可以算作实时系统,至于系统是通过软件还是硬件或者通过怎样的设计达到的都不限。
虽然看似简单,实际上现实世界中这种系统是很难实现的,尤其是软件实现的实时系统。因为你的进程可能随时被其他进程抢占,CPU调度器无法保证能给你的进程所需的时间和资源来在严格时间限制内完成响应。因此就有了各种实时操作系统内核。现实中实时系统的例子能想到的如军方的导弹控制系统和航天飞机等高精尖的软件系统了。
那实时处理(Real-time Processingor Computing)又是什么?与实时系统类似,但软件工业中似乎对实时二字没有什么明确的定义。例如许多人说实时交易,实际上是因为市场数据瞬息万变,决策经常在毫秒间。一个软实时(Soft Real-time)的例子是Amazon要求所有软件子系统在处理99%的请求时,都能在100-200毫秒内要么给出结果要么立刻失败。
说完实时处理再看流式处理(Stream Processing)。望文生义,流式处理就是指源源不断的数据流过系统时,系统能够不停地连续计算。所以流式处理没有什么严格的时间限制,数据从进入系统到出来结果可能是需要一段时间。然而流式处理唯一的限制是系统长期来看的输出速率应当快于或至少等于输入速率。否则的话,数据岂不是会在系统中越积越多(不然数据哪去了)?如此,不管处理时是在内存、闪存还是硬盘,早晚都会空间耗尽的。就像雪崩效应,系统越来越慢,数据越积越多。
所以我们可以说Storm框架是一种流式处理系统的框架。如果我们的代码能够保证Storm的Topology中每个Bolt结点处理数据的时长一定,那么我们就相当于用Storm开发了一个(软)实时的系统。顺便提一句,又比如Spark这个主要是内存计算框架,在加入了Streaming Spark子项目后,能将数据流切分并转化成RDD进行后续计算,从而也支持了流式处理(否则之前Spark都是以固定的一坨数据为输入的)
- Spark Streaming 理解之实时处理与流处理
- 实时处理与流处理
- Spark Streaming实时处理本地数据流
- Spark Streaming实时处理TCP Sockets数据流
- spark调优(五)【Cigna优化Spark Streaming实时处理应用】
- Spark Streaming 理解一
- Spark Streaming---初步理解
- Spark Streaming大规模流式处理
- Spark Streaming快速状态流处理
- spark-streaming状态流之mapWithState
- Spark 之Streaming--原理
- Spark 之Streaming--实例
- Spark之Streaming
- Spark Streaming 之 Checkpoint
- spark学习-Spark Streaming-15-Spark Streaming初次理解
- spark1.2.0源码分析之spark streaming处理数据
- 0073 spark streaming从端口接受数据进行实时处理的方法
- 实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣
- 常用方法总结
- 代码经验整理总结
- Java String.split()特殊字符的用法
- “生动”讲解——深度优先搜索与广度优先搜索
- EventBus使用详解(二)——EventBus使用进阶
- Spark Streaming 理解之实时处理与流处理
- nodes(connected) == nodes(visible) ++ nodes(hidden).
- 关于python文件操作
- HDOJ-1421搬寝室(DP)
- Hbase shell 常用命令
- C++容器的一些总结
- Google相似图片搜索的原理
- 第5周项目2-我的数组类
- Android手机助手识别机型浅析