SparkStreaming 数据源
SparkStreaming
的数据来源广泛,主要有
- Kafka
- HDFS
- Flume
- DataBases
- Dashboards
- Tcp socket
基本原理
将实时输入的数据流以时间片(秒级)为单位进行拆分,然后经过Spark
引擎之后,以类似批处理的方式处理每个时间片的数据。
用一系列微小的批处理来模拟流计算,并不是真正的流计算
SparkStreaming和Storm
SS | Storm | |
---|---|---|
毫秒级响应 | 无法实现 | 可以实现 |
实时计算 | 可以实时计算 | 可以实时计算 |
容错处理 | RDD数据集更容易、更高效的容错处理 | 高度容错 |
计算方式 | 兼容批量和实时处理数据 | 实时流计算 |
如果需要同时处理实时数据和历史数据,则可以使用
Spark Streaming
- 容错性好
- 可以同时支持实时和历史数据
Spark streaming 运行机制
Spark Streaming
中有个组件Receiver
。长期运行的task
跑在一个Executor
上- 每个
Receiver
负责一个数据源,多种数据来源