上一篇博客《StructuredStreaming是何方神圣》已经介绍了StructuredStreaming的相关概念,这篇博客我们介绍基于StructuredStreaming进行实时流算子开发,并将结果输出到kafka中。
StructuredStreaming使用的数据类型是DataFrame和Dataset。
从Spark 2.0开始,DataFrame和Dataset可以表示静态(有界数据),以及流式(无界数据)。与静态Dataset/ DataFrame类似,用户可以使用公共入口点SparkSession 从流源创建流DataFrame /Dataset,并对它们应用与静态DataFrame / Dataset相同的操作。如果你不熟悉Dataset / DataFrame,请戳《Dataset常用方法》和《DataFrame常用方法》
接下来,我们以Append输出模式为例,讲解流式DataFrame的创建,基础操作和窗口操作,以及将结果输出到外部存储介质的方法。
1、流式DataFrame创建
以Kafka作为输入源为例。
a、引入两个依赖包
b、创建SparkSession入口,用于与集群资源管理器交互
c、指定kafka的地址和端口号,