Apache spark 如何测试流媒体窗口聚合?

Apache spark 如何测试流媒体窗口聚合?,apache-spark,scalatest,spark-structured-streaming,Apache Spark,Scalatest,Spark Structured Streaming,我从卡夫卡读取了一些数据,并通过以下方式对其执行窗口聚合: inputDataSet .groupBy(functions.window(inputDataSet.col(“时间戳”),“1分钟”), col(“id”)) .agg(count(“secondId”).as(“myCount”)) 如何对这段代码进行单元测试?网络上的所有示例都围绕着数据流,但我使用的数据集是通过以下方式从Kafka加载的: sparkSession.readStream .格式(“卡夫卡”) .option(

我从卡夫卡读取了一些数据,并通过以下方式对其执行窗口聚合:

inputDataSet
.groupBy(functions.window(inputDataSet.col(“时间戳”),“1分钟”),
col(“id”))
.agg(count(“secondId”).as(“myCount”))
如何对这段代码进行单元测试?网络上的所有示例都围绕着数据流,但我使用的数据集是通过以下方式从Kafka加载的:

sparkSession.readStream
.格式(“卡夫卡”)
.option(“kafka.bootstrap.servers”,Settings.kafka_URL)
.option(“订阅”,Settings.KAFKA_TOPIC1)
.选项(“failOnDataLoss”,false)
.option(“起始偏移量”、“最新”).load()
.select(从_json(col(“value”).cast(“String”)、mySchema.as(“value”))

将此数据集传递给我的聚合函数

我还没有听说过一个测试框架可以帮助您测试开箱即用的流式数据集(除了Spark内部使用的测试套件)

如果我要测试一个流数据集,我不会使用Kafka源代码,因为它不会给测试增加太多内容,但会引入另一个可能出错的层

我会使用
内存
和。我还将回顾Spark repo中结构化流媒体的测试,特别是因为您询问了窗口流媒体聚合。将这些测试用作一组指导原则,您可以将其用于自己的测试