admin管理员组

文章数量:1530842

structure steaming在spark streaming上进行了全新架构,有两种模式
1.持续处理模式,支持超过毫秒级响应,
2.微批处理模式,支持毫秒响应,
功能:select where groupBy map filter flatMap操作都支持
支持sparkSQL,数据抽象是dataframe 和DataSet
而SparkSQL只能处理静态数据spark streaming数据抽象是dstream rdd流
structure streaming关键是将实时数据流看作一张正在不断添加的无界表,spark不断添加数据进行批量计算和增量计算
在无界表上对输入的查询生成结果表,系统每隔一段时间会触发对无界表的计算并更新结果表
默认是微批处理模式,定期检查流数据源,对上一批结束后到达的新处理进行批量查询,有一点延迟因为在微批处理之前要先把处理数据的偏移量写于预写日志,这是害怕处理时发生宕机之类的,保证数据只被处理一次
持续处理模式,满足更高响应速度,需求场景比如银行卡欺诈盗刷,spark2.3.0版本以后支持这个模式,不会根据触发器来周期性处理,而是启动一系列的连续读取处理和写入写过的长时间运行任务,,它在输入流里面加一系列标记,每个时期的数据偏移量异步写入预写日志,不需要等待写入,代价就是只能实现至少一次的一致性,就是只能保证数据至少被处理一次,不能保证仅处理一次

本文标签: Structurestreaming