Как указать OVERWRITE для writeAsText в 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 метода, который принимает org.apache.flink.core.fs.FileSystem.WriteMode. Есть только сигнатура, которая принимает Long за миллисекунды.


person Vladimir Protsenko    schedule 24.11.2015    source источник


Ответы (2)


В настоящее время в API Scala отсутствует перегрузка с соответствующим параметром WriteMode. Это ошибка, и она будет исправлена.

А пока вы всегда можете управлять поведением Flink по перезаписи по умолчанию с помощью параметра конфигурации fs.overwrite-files. Если вы установите этот параметр на fs.overwrite-files: true в своем flink-conf.yaml, то запись в файл всегда будет перезаписываться.

Статус соответствующей задачи JIRA можно найти здесь.

person Till Rohrmann    schedule 24.11.2015

Просто примечание: теперь это исправлено. Вы можете позвонить .writeAsText(filePath, org.apache.flink.core.fs.FileSystem.WriteMode.OVERWRITE)

person Sina Madani    schedule 24.01.2019