Kafka Source
- 简单操作
主要是定阅kafka的test topic,分组统计之后,输出到console sink。
val df = spark.readStream.format("kafka").option("kafka.bootstrap.servers", "Luffy.OnePiece.com:9092").option("subscribe", "test").load()
val res = df.selectExpr("CAST(value AS STRING)").as[String].groupBy("value").count()
val query = res.writeStream.outputMode("Update").format("console").start()
query.awaitTermination()
2.窗口操作
使用kafka的生产者生产消息,消息带时间戳,并且是json的格式数据,Structured Streaming进行处理,统计,采用不同的输出模式输出到console sink上。
输出的时候可以对窗口进行按照时间排序,sort( $"window".desc),但是带sort的话就不支持Update和Append。
import org.apache.spark.sql.streaming