You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by yu...@apache.org on 2023/04/04 01:54:42 UTC

[flink] branch master updated: [hotfix][docs-zh] Fixed the inaccurancy in Chinese doc of ExecutionMode (#22326)

This is an automated email from the ASF dual-hosted git repository.

yuxia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new ed0bbfb0c23 [hotfix][docs-zh] Fixed the inaccurancy in Chinese doc of ExecutionMode (#22326)
ed0bbfb0c23 is described below

commit ed0bbfb0c23ac5b6c6ef253c25b80e2b617c152f
Author: Dian Qi <qi...@163.com>
AuthorDate: Tue Apr 4 09:54:33 2023 +0800

    [hotfix][docs-zh] Fixed the inaccurancy in Chinese doc of ExecutionMode (#22326)
---
 docs/content.zh/docs/dev/datastream/execution_mode.md | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/docs/content.zh/docs/dev/datastream/execution_mode.md b/docs/content.zh/docs/dev/datastream/execution_mode.md
index d243517cbc8..a69024b5706 100644
--- a/docs/content.zh/docs/dev/datastream/execution_mode.md
+++ b/docs/content.zh/docs/dev/datastream/execution_mode.md
@@ -27,25 +27,25 @@ under the License.
 # 执行模式(流/批)
 DataStream API 支持不同的运行时执行模式,你可以根据你的用例需要和作业特点进行选择。
 
-DataStream API 有一种”经典“的执行行为,我们称之为`流(STREAMING)`执行模式。这种模式适用于需要连续增量处理,而且预计无限期保持在线的无边界作业。
+DataStream API 有一种”经典“的执行行为,我们称之为`流(STREAMING)`执行模式。这种模式适用于需要连续增量处理,而且常驻线上的无边界作业。
 
-此外,还有一种批式执行模式,我们称之为`批(BATCH)`执行模式。这种执行作业的方式更容易让人联想到批处理框架,比如 MapReduce。这种执行模式适用于有一个已知的固定输入,而且不会连续运行的有边界作业。
+此外,还有一种批式执行模式,我们称之为`批(BATCH)`执行模式。这种执行作业的方式类似于 MapReduce 等批处理框架,适用于已知输入、不会连续运行的的有边界作业。
 
-Apache Flink 对流处理和批处理统一方法,意味着无论配置何种执行模式,在有界输入上执行的 DataStream 应用都会产生相同的*最终* 结果。重要的是要注意*最终* 在这里是什么意思:一个在`流`模式执行的作业可能会产生增量更新(想想数据库中的插入(upsert)操作),而`批`作业只在最后产生一个最终结果。尽管计算方法不同,只要呈现方式得当,最终结果会是相同的。
+Apache Flink 对流处理和批处理采取统一的处理方式,这意味着无论配置何种执行模式,在有界输入上执行的 DataStream 应用都会产生相同的*最终* 结果。重要的是要注意*最终* 在这里是什么意思:一个在`流`模式执行的作业可能会产生增量更新(想想数据库中的插入(upsert)操作),而`批`作业只在最后产生一个最终结果。尽管计算方法不同,只要呈现方式得当,最终结果会是相同的。
 
-通过启用`批`执行,我们允许 Flink 应用只有在我们知道输入是有边界的时侯才会使用到的额外的优化。例如,可以使用不同的关联(join)/ 聚合(aggregation)策略,允许实现更高效的任务调度和故障恢复行为的不同 shuffle。下面我们将介绍一些执行行为的细节。
+通过启用`批`执行模式,Flink 可以对有边界作业进行额外的优化。例如,可以使用不同的关联(join)/ 聚合(aggregation)策略、不同 shuffle 实现来提高任务调度和故障恢复的效率。下面我们将介绍一些执行模式的细节。
 
 ## 什么时候可以/应该使用批执行模式?
 
-`批`执行模式只能用于 _有边界_ 的作业/Flink 程序。边界是数据源的一个属性,告诉我们在执行前,来自该数据源的所有输入是否都是已知的,或者是否会有新的数据出现,可能是无限的。而对一个作业来说,如果它的所有源都是有边界的,则它就是有边界的,否则就是无边界的。
+`批`执行模式只能用于 _有边界_ 的作业/Flink 程序。边界是数据源的一个属性,告诉我们是否在执行之前已经知道来自该数据源的所有输入,或者新数据是否会无限期地出现。对一个作业来说,如果它的所有源都是有边界的,则它就是有边界的,否则就是无边界的。
 
 而`流`执行模式,既可用于有边界任务,也可用于无边界任务。
 
-一般来说,在你的程序是有边界的时候,你应该使用`批`执行模式,因为这样做会更高效。当你的程序是无边界的时候,你必须使用`流`执行模式,因为只有这种模式足够通用,能够处理连续的数据流。
+一般来说,在你的程序是有边界的时候,应该使用`批`执行模式,因为这样做会更高效。当你的程序是无边界的时候,必须使用`流`执行模式,因为只有这种模式足够通用,能够处理连续的数据流。
 
-一个明显的例外是当你想使用一个有边界作业去自展一些作业状态,并将状态使用在之后的无边界作业的时候。例如,通过`流`模式运行一个有边界作业,取一个 savepoint,然后在一个无边界作业上恢复这个 savepoint。这是一个非常特殊的用例,当我们允许将 savepoint 作为`批`执行作业的附加输出时,这个用例可能很快就会过时。
+一些特殊情况下,你可以使用`流`模式运行有边界作业。其中一种情况为使用有边界作业的运行结果去初始化一些作业状态,并将该状态在之后的无边界作业中使用。例如,通过`流`模式运行一个有边界作业,获取一个 savepoint,然后在一个无边界作业上恢复这个 savepoint。目前来说这是一个可行但非常特殊的用例。当我们允许将 savepoint 作为 `批` 执行作业的附加输出时,这个用例会被以`批`执行模式运行有边界作业的更好实践所取代。
 
-另一个你可能会使用`流`模式运行有边界作业的情况是当你为最终会在无边界数据源写测试代码的时候。对于测试来说,在这些情况下使用有边界数据源可能更自然。
+另一个可能使用`流`模式运行有边界作业的情况是为无边界数据源写测试代码的时候。对于测试来说,在这些情况下使用有边界数据源可能更自然。
 
 ## 配置批执行模式
 
@@ -83,7 +83,7 @@ env.setRuntimeMode(RuntimeExecutionMode.BATCH);
 
 Flink 作业由不同的操作组成,这些操作在数据流图中连接在一起。系统决定如何在不同的进程/机器(TaskManager)上调度这些操作的执行,以及如何在它们之间 shuffle (发送)数据。
 
-将多个操作/算子链接在一起的功能称为[链]({{< ref "docs/dev/datastream/operators/overview" >}}#task-chaining-and-resource-groups)。Flink 称一个调度单位的一组或多个(链接在一起的)算子为一个 _任务_。通常,_子任务_ 用来指代在多个 TaskManager 上并行运行的单个任务实例,但我们在这里只使用 _任务_(task)一词。
+将多个操作/算子链接在一起的功能称为[链(Chaining)]({{< ref "docs/dev/datastream/operators/overview" >}}#task-chaining-and-resource-groups)。Flink 称一个调度单位的一组或多个(链接在一起的)算子为一个 _任务_。通常,_子任务_ 用来指代在多个 TaskManager 上并行运行的单个任务实例,但我们在这里只使用 _任务_(task)一词。
 
 任务调度和网络 shuffle 对于`批`和`流`执行模式的执行方式不同。这主要是由于在`批`执行模式中,当知道输入数据是有边界的时候,Flink可以使用更高效的数据结构和算法。