我用 dop> 1 执行我的程序,但我不想要多个输出文件。在Java中,myDataSet.writeAsText(outputFilePath, WriteMode.OVERWRITE).setParallelism(1);
按预期工作。
但是当我在 Python 中尝试相同的操作时,它不起作用。这是我的代码:myDataSet.write_text(output_file, write_mode=WriteMode.OVERWRITE).set_degree_of_parallelism(1)
是否有可能在 Python 中实现这种行为?
这不是错误,而是不受支持的功能。目前无法为单个运算符设置并行度,而只能为整个作业设置并行度。
我为此打开了一个 JIRA:https://issues.apache.org/jira/browse/FLINK-3275
对于不知道的用户,Apache Flink 在几个月前添加了此功能。
这是来自 Flink 的简短文档:-
通过在 ExecutionEnvironment 上调用 setParallelism(int parallelism),或者通过将 -p 传递给 Flink 命令行前端,可以覆盖整个作业的默认并行性。可以通过在运算符上调用 setParallelism(int parallelism) 来覆盖单个转换。