我发现 BucketingSink 可以做 StreamingFileSink 可以做的所有事情,例如将事件写入本地文件、NAS 或 HDFS 文件(原来我认为 BucketingSink 只能将事件写入 HDFS,而不能写入 NAS 或本地文件(,但是 StreamingFileSink 不提供 BucketingSink 提供的某些功能,例如 StreamingFileSink 无法设置文件的前缀和后缀, 但是 BucketingSink 可以做到,那么当存在 BucketingSink 时,为什么我们需要 StreamingFileSink?
StreamingFileSink
是一个新的接收器,最终将取代BucketingSink
。BucketingSink
有一些主要限制(一致输出到 S3,支持拼花地板和 ORC 等阻塞格式(,如果不重新设计就无法解决。StreamingFileSink
实现了这种新设计。
但是,正如您在当前状态(Flink 1.6(中注意到的那样,StreamingFileSink
还不支持BucketingSink
的所有功能。