【问题标题】:Apache beam write transform writes into multiple files?Apache Beam 写入转换写入多个文件?
【发布时间】:2018-10-02 20:15:42
【问题描述】:

我正在查看来自Apache Beam 的 wordCount 示例 当我尝试在本地运行此示例时,它将计数写入多个文件。我创建了一个测试项目来从文件中读取和写入数据,甚至写入操作也将输出写入多个文件。如何在单个文件中获得结果?我正在使用直接跑步者

【问题讨论】:

    标签: java apache-beam


    【解决方案1】:

    这是出于性能原因。您应该可以使用 TextIO.Write.withoutSharding 强制单个文件

    无分片

    public TextIO.Write withoutSharding()

    强制将单个文件作为输出和空分片名称模板。这 选项仅与无窗口写入兼容。

    对于非窗口写入,限制分片数量可能会 降低管道的性能。设置这个值不是 除非您需要特定数量的输出文件,否则建议使用。

    这相当于 .withNumShards(1).withShardNameTemplate("")

    【讨论】:

    • 谢谢你的工作。但是,顺序是乱序的。有没有办法可以按顺序读取和写入文件?
    • 可能值得一个单独的问题,其中包含一个简短的代码示例并解释为什么顺序很重要。
    • 肯定会这样做
    猜你喜欢
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 2021-10-10
    相关资源
    最近更新 更多