有BucketingSink 为什么还需要StreamingFileSink?
Why we need StreamingFileSink when there is exists BucketingSink?
我发现BucketingSink can do everything the StreamingFileSink可以做,比如写事件到本地文件,NAS或者HDFS文件(原来我以为BucketingSink只能写事件到HDFS,不能写NAS或者本地文件),然而BucketingSink 提供的一些 StreamingFileSink 没有提供的功能,比如 StreamingFileSink 不能设置文件的 Prefix 和 Suffix,但是 BucketingSink 可以,那么为什么在存在 BucketingSink 的情况下还需要 StreamingFileSink?
StreamingFileSink
是一个新的接收器,最终将取代 BucketingSink
。 BucketingSink
有一些主要限制(S3 的一致输出,支持 Parquet 和 ORC 等分块格式)如果不重新设计就无法解决。 StreamingFileSink
实现了这个新设计。
但是,正如您在当前状态 (Flink 1.6) 中注意到的那样,StreamingFileSink
尚不支持 BucketingSink
的所有功能。
我发现BucketingSink can do everything the StreamingFileSink可以做,比如写事件到本地文件,NAS或者HDFS文件(原来我以为BucketingSink只能写事件到HDFS,不能写NAS或者本地文件),然而BucketingSink 提供的一些 StreamingFileSink 没有提供的功能,比如 StreamingFileSink 不能设置文件的 Prefix 和 Suffix,但是 BucketingSink 可以,那么为什么在存在 BucketingSink 的情况下还需要 StreamingFileSink?
StreamingFileSink
是一个新的接收器,最终将取代 BucketingSink
。 BucketingSink
有一些主要限制(S3 的一致输出,支持 Parquet 和 ORC 等分块格式)如果不重新设计就无法解决。 StreamingFileSink
实现了这个新设计。
但是,正如您在当前状态 (Flink 1.6) 中注意到的那样,StreamingFileSink
尚不支持 BucketingSink
的所有功能。