Spark Streaming ------ 有状态转化和无状态转化
无状态转化:
每次计算的时间,仅仅计算当前时间切片的内容,每个批次处理都不依赖于先前批次的数据。 |
如,每次只计算1s时间内产生的RDD。
有状态转化:
依赖之前的批次数据或者中间结果来计算当前批次的数据,不断的把当前的计算和历史时间切片的RDD进行累计。 |
如,计算某个单词出现的次数,需要把当前的状态与历史的状态相累加,随着时间的流逝, 数据规模会越来越大,包括updateStatebyKey()和window()
每次计算的时间,仅仅计算当前时间切片的内容,每个批次处理都不依赖于先前批次的数据。 |
如,每次只计算1s时间内产生的RDD。
依赖之前的批次数据或者中间结果来计算当前批次的数据,不断的把当前的计算和历史时间切片的RDD进行累计。 |
如,计算某个单词出现的次数,需要把当前的状态与历史的状态相累加,随着时间的流逝, 数据规模会越来越大,包括updateStatebyKey()和window()