Flink 学习笔记六

2017/06/28 Flink

Flink2 学习笔记六

物理分区

Flink允许对数据流进行物理划分,可以提供自定义的划分方法。

custom partitioning

自定义划分方法。 Java:

inputStream.partitionCustom(partitioner,"SomeKey");
inputStream.partitionCustom(partitioner,0);

Scala:

inputStream.partitionCustom(partitioner,"SomeKey")
inputStream.partitionCustom(partitioner,0)

Random partitioning

随机分区方法,可以将数据流平均划分 Java:

inputStream.shuffle();

Scala:

inputStream.shuffle();

Rebalancing partitioning

这种划分方法会把数据划分平均分发出去。使用round robin方法来分发数据。当数据是歪曲的,这种方法很有效。 Java:

inputStream.rebalance();

Scala:

inputStream.rebalance();

Rescaling

这种分区方法是用来在 operations,perform transformations 之间分发数据的,并且将数据合并到一起。rebalancing发生在单一节点上,因此程序不需要通过网络传输数据。如下的图展示了数据分发的过程。 图片一 Java中:

inputStream.rescale();

Scala中:

inputStream.rescale();

broadcasting

广播数据会把所有的数据分发到所有的分区上。 Java:

inputStream.broadcast();

Scala:

inputStream.broadcast();
Show Disqus Comments

Search

    Table of Contents