FlinkにはカスタムパーティショニングAPIが付属しています。しかし、DataStream
でpartitionCustom
を呼び出した後にDataStream
が返され、KeyedStream
ではないという問題があります。FlinkのカスタムパーティショニングからKeyedStreamを取得する
一方、KeyedStream
のパーティション戦略を上書きすることはできません。
DataStream
ためのAPIがreduce
とsum
演算子を持っているため、自動的に仕切られた内部状態にしないので、私は、KeyedStream
を使用したいです。ワードカウントがある場合
私が意味する、:
words.map(s -> Tuple2.of(s, 1)).keyBy(0).sum(1)
私は書くことがしたい:
words.map(s -> Tuple2.of(s, 1)).partitionCustom(myPartitioner, 0).sum(1)
は、これを実現する方法はありますか?
ありがとうございました!