Spark学习笔记(28)深入理解Spark 2.x中的Structured Streaming

来源:互联网 发布:淘宝借钱逾期 编辑:程序博客网 时间:2024/05/22 16:04
本期内容:
1. 新型的Spark Streaming思维
2. Structured Streaming内幕

Spark 2.0 仍有bug,不适合于生成环境。只用于测试。
Spark 2.X提出了continuous application(连续的应用程序)的概念,非常重大。
如图例所示,数据通过Kafka流进来,经过ETL,
SS把数据看成一张表。一张没有边际的表、
Eventtime,事件触发器,以后再展开来分析。通过JDBC访问数据。
多个query并行运行。
官方说2.0的正式版本并没有在线机器学习功能了。

快速的、容错的、exactly-once,有状态的流处理。不用清楚底层的流是怎么回事。



delta input: 增量更新。有更新的部分时,才更新。

从物理级别看的内容:

StructureStreaming基于DataSet、DataFrame,没有涉及DStream了。没有数据收集过来再处理这样的概念,数据就一直在了。

上例中将两个dataset进行join操作,更符合RDD的API,不需要foreachRDD后门了。
API级别的很大优势。


默认情况下,DataSet、DataFrame是static bounded data,流处理是streaming unbounded data。API把两者融合了。

可以认为Planner是一个翻译器或路由器,基于DataFrame和DataSet代码来决定是否走Spark SQL的UnResult、Result Logic Plan、Optimized Logic Plan等,编码者不需要关心这些东西了。
Spark会走向完全实时的时代。所有的机器学习、图计算都应该在流数据上进行计算。

阅读全文
0 0