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