Spark partitionFlink中的等价物



我希望按键将流数据写入基于分区的单独文件夹中,就像Spark中的partitionBy一样。

数据:

key1 1
key2 1
key1 2
key3 1
...

预期输出:

/output_directory/key1
+-- part-0-0
+-- part-0-1
+-- ...
/output_directory/key2
+-- part-0-0
+-- part-0-1
+-- ...
/output_directory/key3
+-- part-0-0
+-- part-0-1
+-- ...
...

(我在Flink中读到了关于流分割和自定义接收器的文章。但前者似乎不适合事先不知道密钥的情况。至于自定义接收器,我想在研究它们之前看看是否有其他方法。(

有没有内置的方法或第三方库可以在Flink中实现这一点?

看看Flink的FileSink,您将希望将其与BucketAssigner一起使用,该BucketAssignr根据流元素的键将流元素分配给bucket。

有关更多详细信息,请参阅https://ci.apache.org/projects/flink/flink-docs-stable/docs/connectors/datastream/file_sink/.

相关内容

  • 没有找到相关文章

最新更新