gpt4 book ai didi

java - 如何在数据流中有效处理大型 gzip 压缩文件?

转载 作者:行者123 更新时间:2023-11-30 06:30:55 25 4
gpt4 key购买 nike

我们有一些批处理作业来处理 gzip 压缩文件,这些文件压缩后约为 10GB,解压后约为 30GB。

尝试在 java 中处理这个问题需要花费大量的时间,我们正在寻找如何更有效地做到这一点。如果我们使用 TextIO 或 gcs 的 native java sdk 下载文件,则需要超过 8 小时才能处理,原因是 ut 可以出于某种原因进行扩展。很可能它不会分割文件,因为它是 gzip 压缩的。

如果我解压缩文件并处理解压缩的文件,则该作业大约需要 10 分钟,因此速度快了 100 倍。

我完全理解处理 gzip 压缩文件可能需要一些额外的时间,但 100 倍的时间就太多了。

最佳答案

您说得对,gzip 压缩文件不可拆分,因此 Dataflow 无法并行读取每个 gzip 压缩输入文件。如果可能的话,将未压缩的内容存储在 GCS 中是最佳途径。

关于 100 倍的性能差异:您的管道在未压缩版本与压缩版本中扩展到了多少个工作虚拟机?如果您有职位 ID,我们可以在内部查找以进一步调查。

关于java - 如何在数据流中有效处理大型 gzip 压缩文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46150384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com