如何在 Apache Flink Streaming 0.10.0 中将 OVERWRITE 指定为 writeAsText?

How to specify OVERWRITE to writeAsText in Apache Flink Streaming 0.10.0?

我在 scala 中有一个方法

counts.writeAsText(path_to_file)

文件已存在时抛出异常提示指定 File or directory already exists. Existing files and directories are not overwritten in NO_OVERWRITE mode. Use OVERWRITE mode to overwrite existing files and directories.。但是我没有在DataStream class中找到接受org.apache.flink.core.fs.FileSystem.WriteMode的方法。只有一个接受Long毫秒的签名。

Scala API 当前缺少相应 WriteMode 参数的重载。这是一个错误,将被修复。

同时,您始终可以通过 fs.overwrite-files 配置参数来控制 Flink 的默认覆盖行为。如果您在 flink-conf.yaml 中将此参数设置为 fs.overwrite-files: true,则写入文件将始终覆盖。

对应JIRA issue的状态可以查看here.

请注意:此问题现已修复。你可以打电话给.writeAsText(filePath, org.apache.flink.core.fs.FileSystem.WriteMode.OVERWRITE)