当前位置: 首页 > 知识库问答 >
问题:

当使用google dataflow读取压缩文件时,与保存在google存储中的普通文本文件相比,性能相对较差

严昊昊
2023-03-14

我使用google dataflow从云存储中读取了一个11.57GB的文件,并将其写入google BigQuery。30名工人花了大约12分钟。

即使我将工作人员的数量增加到200个,它似乎也没有改善,因为读取相同的压缩文件并写入bigquery仍然需要28分钟

在读取压缩文件时,是否有一种方法可以加快整个过程?

共有1个答案

孟思远
2023-03-14

从压缩数据读取时,每个文件只能由一个工作人员处理;当读取未压缩的数据时,工作可以更好地并行化。由于您只有一个文件,这就解释了您所看到的性能差异。

加快速度的最佳选择是使用未压缩的输入,或者使用多个较小的文件。或者,为了降低成本,您可以在读取一个压缩文件时使用更少的工作人员。

 类似资料:
  • 看起来有点讽刺,但当我读2GB的时候。csv文件逐行使用BufferedReader,耗时约4.5秒。我用大约230MB的gzip压缩了文件。我使用了用BufferedReader包装的GZIPInputStream来读取。gz文件。大约用了8.5秒。 我知道InputStream接口读取的是字节数据,而不是读卡器,但我认为如果一个200MB的文件加载到内存会更快。是否可以使用实现更好的性能。gz

  • 问题内容: 我有一个文件,其内容为python列表的形式,如下所示: 有什么办法可以将python文件读回到列表对象中吗?而不是使用整个文件,而是将其读取为字符串。 编辑:对于那些可能有兴趣的人,我使用(import ast)遇到了一个奇怪的问题,作为解决上述问题的建议。 我在其中使用的程序具有从yahoo finance python模块获取历史股票数据的功能。此函数与ast.literal_e

  • 问题内容: 使用python从gz压缩的文本文件中读取一行很容易,而无需完全提取该文件?我有一个大约200mb的text.gz文件。当我提取它时,它变成7.4gb。这不是我必须阅读的唯一文件。对于整个过程,我必须读取10个文件。尽管这将是一个顺序的工作,但我认为在不影响全部信息的情况下做到这一点将是明智之举。我什至不知道有可能。如何使用python完成?我需要逐行阅读文本文件。 问题答案: 您是否

  • 我正在使用Spring引导连接到谷歌云存储。 我能够连接到一个文件,并从谷歌云存储桶中读取内容。 但是我不能得到谷歌云存储桶中所有文件的列表。 请帮帮我。 这很有效 这不工作。 有什么原因吗?

  • 有人请建议我一个工具来比较两个文本文件和保存第二个文本文件的差异。 例

  • 问题内容: 有什么方法可以读取文本文件并将内容存储在Jtable中?我有一个文本文件,其中包含有关某些过程的某些信息。就像一个具有列和各自值的表。是否可以获取.txt文件的内容并以Jtable的形式显示?我正在使用Eclipse和Window Builder。任何帮助将不胜感激。谢谢! 问题答案: 我将研究Oracle的教程: 读/写文本文件 JTable教程 当从文本文件中获取数据时,您需要将其