在 Apache Flink 中,我有一个元组流。让我们假设一个非常简单的Tuple1<String>
. 元组可以在其值字段中具有任意值(例如“P1”、“P2”等)。可能值的集合是有限的,但我事先不知道完整的集合(因此可能存在“P362”)。我想根据元组内部的值将该元组写入某个输出位置。因此,例如,我希望具有以下文件结构:
/output/P1
/output/P2
在文档中,我只发现了写入我事先知道的位置(例如stream.writeCsv("/output/somewhere")
)的可能性,但没有办法让数据的内容决定数据的实际结束位置。
我在文档中阅读了有关输出拆分的信息,但这似乎没有提供一种将输出重定向到不同目的地的方法,就像我想要的那样(或者我只是不明白这是如何工作的)。
这可以用 Flink API 来完成吗,如果可以,怎么做?如果没有,是否有第三方图书馆可以做到这一点,还是我必须自己构建这样的东西?