[英]Spark Structured Streaming Unit Test in Java
我正在开发一个 api 以使用 Spark Structured Streaming 从 Kafka 读取数据并写入 Java 中的 blob 存储。 我找不到为此编写单元测试的方法。 我有一个读取器 class,它返回一个数据集和一个写入器 class,它将数据集作为输入并以指定格式写入 blob 存储。 我在 MemoryStream 上看到了一些博客,但认为它不足以满足我的需求。
提前致谢。
显然,您可以参考这个答案,了解我们如何使用 memory 流进行单元测试 - Unit Test - structured streaming
此外,您还可以查看 Holden Karau 的这个 spark-testing-base。 星火测试基地
您可以模拟来自 Kafka 的流数据帧,并运行测试用例以在 dataframe 之上的代码中进行转换。
样本:
static Dataset<Row> createTestStreamingDataFrame() {
MemoryStream<String> testStream= new MemoryStream<String>(100, sqlContext(), Encoders.STRING());
testStream.addData((Arrays.asList("1,1","2,2","3,3")).toSeq());
return testStream.toDF().selectExpr(
"cast(split(value,'[,]')[0] as int) as testCol1",
"cast(split(value,'[,]')[1] as int) as testCol2");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.