SparkStreaming
SparkStreaming
对比 | 离线计算(批处理) | 流式计算(实时计算) |
---|---|---|
数据源 | 固定的文件 | 随时产生的新数据 |
任务的周期 | 按天、按小时 | 一次启动永远执行 |
数据维度 | 大时间跨度 | 近期数据 |
实现方案 | MapReduce、Hive、SparkCore、SparkSQL | Storm、SparkStreaming、Flink |
- 流式计算
对比 | 真·流式计算 | 伪·流式计算(微批处理) |
---|---|---|
框架 | Storm、Flink | SparkStreaming |
处理的最小单位 | 一条数据 | 多条数据组成RDD |
延迟 | 毫秒级 | 秒级 |
- Storm流式计算的元老
-
集群架构
- 主从架构
- nimbus 主节点
- supervisor 从节点
- executor job的进程
- task job线程
- 主从架构
-
编程模型
-
topology 拓扑
-
spout 数据源
通常读取文件或者Kafka之类的中间件数据
设置发送的目标流 -
bolt 数据处理
设置接收的目标表流用来对接上游的数据
并将处理之后的结果发送到下游目标流
拓扑中最后的bolt负责将数据写出到持久化平台
-