开发者社区> 问答> 正文

谁能解释一下 GlobalStreamExchangeMode 这几种交换模式的不同和使用场景吗?

GlobalStreamExchangeMode 这几种交换模式的不同和使用场景是什么?哪些适合流式作业,哪些适合批式作业? Flink Remote Shuffle Service的推出是不是意味着可以在生产环境使用Flink处理批式作业?谢谢!

package org.apache.flink.streaming.api.graph;

import org.apache.flink.annotation.Internal;

@Internal

public enum GlobalStreamExchangeMode {

ALL_EDGES_BLOCKING,

FORWARD_EDGES_PIPELINED,

POINTWISE_EDGES_PIPELINED,

ALL_EDGES_PIPELINED,

ALL_EDGES_PIPELINED_APPROXIMATE;

private GlobalStreamExchangeMode() {

}

} *来自志愿者整理的flink

展开
收起
雪哥哥 2021-12-08 19:39:25 1291 0
1 条回答
写回答
取消 提交回答
  • 这个是可以直接控制内部连边的方式,可以参考一下这个的Java doc。不过这个是一个内部接口,还是建议使用 env.setRuntimeMode(RuntimeExecutionMode.BATCH),这个可以参考一下这个文档: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/dev/datastream/execution_mode/ 。

    public enum GlobalStreamExchangeMode { /** Set all job edges to be {@link ResultPartitionType#BLOCKING}. */ ALL_EDGES_BLOCKING,

    /** * Set job edges with {@link ForwardPartitioner} to be {@link * ResultPartitionType#PIPELINED_BOUNDED} and other edges to be {@link * ResultPartitionType#BLOCKING}. */ FORWARD_EDGES_PIPELINED,

    /** * Set job edges with {@link ForwardPartitioner} or {@link RescalePartitioner} to be {@link * ResultPartitionType#PIPELINED_BOUNDED} and other edges to be {@link * ResultPartitionType#BLOCKING}. */ POINTWISE_EDGES_PIPELINED,

    /** Set all job edges {@link ResultPartitionType#PIPELINED_BOUNDED}. */ ALL_EDGES_PIPELINED,

    /** Set all job edges {@link ResultPartitionType#PIPELINED_APPROXIMATE}. */ ALL_EDGES_PIPELINED_APPROXIMATE }*来自志愿者整理的flink

    2021-12-08 19:45:07
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
“静态调用链路发现”应用场景分析及实践探索 立即下载
用计算和数据去改变整个世界 立即下载