Flink:写入 dev/null

Flink: writing to dev/null

我想执行我的 Flink Scala 程序而不将结果写入文件。 运行 不将结果 DataSet 保存到 DataSink 中的程序是不可能的。所以我尝试了<result dataset name>.writeAsText("file:///dev/null", WriteMode.OVERWRITE)。那没有用。发生以下错误:

> java.io.IOException: Output path 'file:/dev/null' could not be
> initialized. Canceling task...    at
> org.apache.flink.api.common.io.FileOutputFormat.open(FileOutputFormat.java:228)
>   at
> org.apache.flink.api.java.io.TextOutputFormat.open(TextOutputFormat.java:77)
>   at
> org.apache.flink.runtime.operators.DataSinkTask.invoke(DataSinkTask.java:187)
>   at org.apache.flink.runtime.taskmanager.Task.run(Task.java:584)     at
> java.lang.Thread.run(Thread.java:745)

有没有办法通过 dev/null 路径使用 DataSink?

您可以使用 DiscardingOutputFormat:

val data: DataSet[(String, Int)]
data.output(new DiscardingOutputFormat[(String, Int)]())