繁体   English   中英

Java 中的 Spark 结构化流单元测试

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM