本文共 1738 字,大约阅读时间需要 5 分钟。
Hadoop 的 MapReduce 及 Spark SQL 等只能进行离线计算,无法满足实时性要求较高的业务 需求,例如实时推荐、实时网站性能分析等,流式计算可以解决这些问题。目前有三种比较 常用的流式计算框架,它们分别是 Storm,Spark Streaming 和 fink。
易用
容错:与spark体系无缝整合离散流DStream:这是spark streaming对内部持续的实时数据流的抽象描述,即我们处理的一个实时数据,在sparkstreaming中对应一个DStream实例。
批数据:这是化整为零的第一步,将实时数据抽象,以时间片为单位进行分批,将流处理转化为时间片,数据的批处理,随着持续时间的推移,这些处理结果就形成了对应的结果数据流。 时间片或批处理时间间隔:人为地对流数据进行定量的标准,以时 间片作为我们拆分流数据的依据。一个时间片的数据对应一个 RDD 实例。窗口长度:一个窗口覆盖的数据流的时间长度,必须是批处理时间间隔的倍数。滑动周期:前一个窗口到后一个窗口所经过的时间长度,必须是批处理时间间隔的倍数。 InputDStream:一个 InputDStream 是一个特殊的 DStream,表示第一次被加载到实时数据流中的原始数据。DStream上的原语与RDD类似,分为:Transformations(转换)和Output Operations(输出,类似于action)。
由于DStream的操作与RDD极为类似,而且DStream底层就是封装的RDD,所以这里简单的介绍一下Transformations。注意:Transformations操作中有几个极为重要的操作:updateStateByKey()、transform()、window()、foreachRDD()。以后的博文中为详细介绍。转载于:https://blog.51cto.com/14048416/2339445