2016-08-16 898 views
2

writeAsTextwriteAsCsvDataStream的方法將多個文件寫入工作線程。據我所知,這些方法只允許你指定這些文件的路徑和一些格式。在Flink中,如何將DataStream寫入單個文件?

出於調試和測試的目的,將所有內容打印到單個文件而無需將設置更改爲具有單個工作線程將非常有用。

是否有任何非過於複雜的方式來實現這一目標?我懷疑它應該可以實現一個自定義的SinkFunction,但不能確定那個(除此之外,它也覺得像一件似乎相對簡單的事情的麻煩)。

回答

5

您可以通過將並行設置爲1來實現此目的。這樣,寫入只發生在一臺機器上。

writeAsText(path).setParallelism(1); 
相關問題