Apache Beam 2.2.0中FileBasedSink.CompressionType.GZIP是否已弃用?
关于Apache Beam 2.2.0中
FileBasedSink.CompressionType.GZIP弃用的确认 没错,在Apache Beam 2.2.0版本里,FileBasedSink.CompressionType.GZIP确实已经被标记为已弃用了,这正是你在Eclipse中看到警告的原因。
Beam官方在这个版本里对IO组件的配置API做了优化,推荐直接使用TextIO自身提供的压缩配置方法,替代原来依赖FileBasedSink枚举的写法。
修改后的合规代码示例
你可以把代码调整为下面这种更符合Beam设计规范的写法:
results.apply(ParDo.of(new TableRowToString())) .apply("WriteProfile", TextIO.write() .to(outputBucket) .withCompression(Compression.GZIP) .withNumShards(numChunks));
注意事项
需要确保你导入了正确的Compression类,它的全限定类名是org.apache.beam.sdk.io.Compression。
这种API调整的核心目的是让IO组件的配置更内聚,把压缩相关的逻辑直接整合到TextIO的API体系中,避免依赖底层FileBasedSink的内部枚举,让代码结构更清晰、更易维护。
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

