如何在 Apache Beam WriteToFiles 中同时使用 destination_prefix_naming 和 default_file_naming?

How to use both destination_prefix_naming and default_file_naming in Apache Beam WriteToFiles?

我有一个正在通过以下方式写入文件的 Apache Beam 管道:

with beam.Pipeline(options=options) as p:
    my_pipeline = (
        p 
        | "ReadTable" >> beam.io.Read(source) 
        | "WriteSomeFiles" >>  beam.io.fileio.WriteToFiles(
            path="/path/prefix/to/directory/",
            destination=lambda record: record["filename"],
            file_naming=beam.io.fileio.destination_prefix_naming(),
            sink=JsonSink())
        )

这成功地在我的记录中使用“文件名”条目命名了文件。我怎样才能设置文件的后缀?例如。与 default_file_naming 喜欢:

default_file_naming(prefix="my-prefix", suffix=".json")

destination_prefix_naming 接受一个可选参数 suffix,您可以传递该参数来设置文件的后缀。