开发者社区> 问答> 正文

Flink中的分区策略有哪几种?

Flink中的分区策略有哪几种?

展开
收起
茶什i 2019-11-21 10:40:16 2521 0
1 条回答
写回答
取消 提交回答
  • GlobalPartitioner: DataStream => DataStream

    GlobalPartitioner,GLOBAL分区。将记录输出到下游Operator的第一个实例。

    ShufflePartitioner: DataStream => DataStream

    ShufflePartitioner,SHUFFLE分区。将记录随机输出到下游Operator的每个实例。

    RebalancePartitioner: DataStream => DataStream

    RebalancePartitioner,REBALANCE分区。将记录以循环的方式输出到下游Operator的每个实例。

    RescalePartitioner: DataStream => DataStream

    RescalePartitioner,RESCALE分区。基于上下游Operator的并行度,将记录以循环的方式输出到下游Operator的每个实例。举例: 上游并行度是2,下游是4,则上游一个并行度以循环的方式将记录输出到下游的两个并行度上;上游另一个并行度以循环的方式将记录输出到下游另两个并行度上。若上游并行度是4,下游并行度是2,则上游两个并行度将记录输出到下游一个并行度上;上游另两个并行度将记录输出到下游另一个并行度上。

    BroadcastPartitioner: DataStream => DataStream

    BroadcastPartitioner,BROADCAST分区。广播分区将上游数据集输出到下游Operator的每个实例中。适合于大数据集Join小数据集的场景。

    ForwardPartitioner

    ForwardPartitioner,FORWARD分区。将记录输出到下游本地的operator实例。ForwardPartitioner分区器要求上下游算子并行度一样。上下游Operator同属一个SubTasks。

    KeyGroupStreamPartitioner(HASH方式):

    KeyGroupStreamPartitioner,HASH分区。将记录按Key的Hash值输出到下游Operator实例。

    CustomPartitionerWrapper

    CustomPartitionerWrapper,CUSTOM分区。通过Partitioner实例的partition方法(自定义的)将记录输出到下游。

    2019-11-21 10:40:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载