流式应用状态
使用SparkStreaming处理实际实时应用业务时,针对不同业务需求,需要使用不同的函数。SparkStreaming流式计算框架,针对具体业务主要分为三类,使用不同函数进行处理:
- 业务一:无状态Stateless
- 使用transform和foreacRDD函数
- 比如实时增量数据ETL:实时从Kafka Topic中获取数据,经过初步转换操作,存储到ES或HBase表中。
- 业务二:有状态State
- 双十一大屏幕所有实时累加统计数字(比如销售额和销售量等),比如销售额、网站PV、UV等等;
- 函数:updateStateByKey、mapWithState
- 业务三:窗口统计
- 每隔多久时间统计最近一段时间内数据,比如