版本
1.6.0-Spark Streaming
2.1.0-Spark Streaming和Structured Streaming
Spark Streaming
Structured Streaming是基于Spark SQL引擎,目前版本还是alpha-实验阶段
架构
微批次架构
时间区间--批次间隔
Spark-Streaming了解
离散化Discretized
输入源
核心输入源 spark-streaming
其他输入源--spark-streaming-kafaka
读取命令
textFilesStream() //文本流
KafkaUtils //kafaka
FlumeUtils //Flume
StreamingContext
读入后返回
DStream
对DStream的转化操作
无状态操作--批处理不依赖与之前批次
有状态操作--需要使用之前批次的数据或者中间计算结果来计算当前批次
跨时间区间跟踪数据的操作
滑动窗口--
批次间隔
窗口时长--控制每次计算最近的多少个批次的数据 bathInterval--windowDuration
滑动步长--对新的DStream进行计算的间隔
.window()
reduceByWindow()
reduceByKeyWindow()
+ -
countByWindow()
updataStateByKey()
跨批次维护状态
update()
对DStream的输出操作
saveAsTextFiles()
saveAsHadoopFiles()
机制
容错性
一致性
重算--谱系图
检查点机制
1.控制发生失效时需要重新计算的状态数--2.提供驱动程序容错--3.接收器容错
设置检查点
ssc.checkpoint("hdfs://")
7*24不间断运行配置