7.2 Spark Streaming
2024-09-06 09:38:01
一、Spark Streaming设计
Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里。
Spark Streaming的基本原理是将实时输入数据流以时间片(秒级)为单位进行拆分,然后经Spark引擎以类似批处理的方式处理每个时间片数据。
Spark Streaming最主要的抽象是DStream(Discretized Stream,离散化数据流),表示连续不断的数据流。在内部实现上,Spark Streaming的输入数据按照时间片(如1秒)分成一段一段,每一段数据转换为Spark中的RDD,这些分段就是Dstream,并且对DStream的操作都最终转变为对相应的RDD的操作。
二、Spark Streaming与Storm的对比
- Spark Streaming和Storm最大的区别在于,Spark Streaming无法实现毫秒级的流计算,而Storm可以实现毫秒级响应。
- Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+)可以用于实时计算,另一方面,相比于Storm,RDD数据集更容易做高效的容错处理。
- Spark Streaming采用的小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法,因此,方便了一些需要历史数据和实时数据联合分析的特定应用场合。
三、从“Hadoop+Storm”架构转向Spark架构
采用Spark架构具有如下优点:
- 实现一键式安装和配置、线程级别的任务监控和告警;
- 降低硬件集群、软件维护、任务监控和应用开发的难度;
- 便于做成统一的硬件、计算平台资源池。
最新文章
- 一不小心写了个WEB服务器
- Android SDK Tools 更新
- Atitit 基于dom的游戏引擎
- 解决maven项目移动
- javascript 深拷贝
- 鸟哥的linux私房菜学习记录之档案与目录管理
- 取模(mod)
- linux vim用法总结
- SignalR: The new old thing
- 根据文件夹的GUid找到该文件夹
- linux命令中";|";管道流的意思
- textField 判断输入长度限制
- 为什么webview.loadUrl(";javascript:function() ";)不执行?
- POJ 2195 Going Home (带权二分图匹配)
- nginx.conf文件
- Glog 和 Log4cxx 的对比
- 记一次自己在Linux上倒腾Nginx的经历
- Vue组件化应用构建 官网例子 Unknown custom element: <;todo-item>;
- Java学习--枚举
- Sql Server性能定位及改善
热门文章
- linux 系统下Anaconda的安装【安装python3.6环境首选】
- ​Linux环境下搭建禅道管理工具-包含软件资源
- 201871010126 王亚涛 《面向对象程序设计(java)》 第一周学习总结
- 201871010113-刘兴瑞《面向对象程序设计(java)》第十周学习总结
- 算法问题实战策略 PICNIC
- Noip2016Day2T3 愤怒的小鸟
- 自动编写Python程序的神器,Python 之父都发声力挺!
- 二、Mapper映射文件
- python基础(21):异常处理
- Python笔记:设计模式之工厂模式