Flink 中的 Spark partitionBy 等价物?
Spark partitionBy equivalent in Flink?
我希望将流式数据写入基于分区的单独文件夹,如 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中读到了stream splitting和custom sinks。但是前者似乎不适合预先不知道key的情况。至于custom sinks - 我想看看有没有在调查它们之前先找到其他出路。)
Flink是否有内置方法或第三方库来实现?
看看 Flink 的 FileSink, which you will want to use with a BucketAssigner,它根据键将流元素分配给桶。
有关详细信息,请参阅 https://ci.apache.org/projects/flink/flink-docs-stable/docs/connectors/datastream/file_sink/。
我希望将流式数据写入基于分区的单独文件夹,如 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中读到了stream splitting和custom sinks。但是前者似乎不适合预先不知道key的情况。至于custom sinks - 我想看看有没有在调查它们之前先找到其他出路。)
Flink是否有内置方法或第三方库来实现?
看看 Flink 的 FileSink, which you will want to use with a BucketAssigner,它根据键将流元素分配给桶。
有关详细信息,请参阅 https://ci.apache.org/projects/flink/flink-docs-stable/docs/connectors/datastream/file_sink/。