4

我使用 RAR 实用程序(未压缩 100GB,压缩 20GB)获得了一个大的多部分压缩 CSV 文件,因此我有 100 个 RAR 文件部分,它们已上传到 Google Cloud Storage。我需要将其提取到 Google Cloud Storage。如果我可以在 GAE 上使用 Python,那将是最好的。有任何想法吗?我不想下载、提取和上传。我想在云端完成这一切。

4

2 回答 2

7

这个问题已经得到回答(并被接受),但对于未来的类似用例,我建议通过在 GCE 上启动一个小型 Linux 实例(例如 ,f1-micro然后运行 ​​Marc Cohen 在他的回答。这些实例gsutil已预装,因此易于使用。完成后,只需关闭并删除您的微实例,因为您生成的文件已存储在 Google Cloud Storage 中。

分步说明:

  1. 创建 Google Compute Engine 虚拟机实例
  2. SSH 到实例
  3. 按照另一个答案中的说明进行操作

这样做的好处是,您无需下载到您自己的计算机,而是在 Google Cloud 本身内传输所有数据,因此传输速度应该非常快,并且不依赖于您自己的互联网连接速度或消耗您的任何带宽。


注意:网络带宽与 VM 的大小(以 vCPU 为单位)成正比,因此为了获得更快的性能,请考虑创建更大的 VM。VM 实例的Google Compute Engine定价如下:

  1. 最少 10 分钟
  2. 四舍五入到最接近的分钟

因此,例如,假设n1-standard-1成本为 0.05 美元/小时(截至 2016 年 10 月 8 日),使用 15 分钟总共将花费 0.0125 美元。

于 2014-05-22T17:29:47.650 回答
4

无法直接在云端解压缩/解压 RAR 文件。您知道gsutil -m(多线程/多处理)选项吗?它通过并行运行来加快传输速度。我建议这个顺序:

  • 下载压缩存档文件
  • 本地解包
  • 使用并行上传解压文件gsutil -m cp file-pattern dest-bucket

除非您的互联网连接速度非常慢,否则 20GB 应该不会花费很长时间(我预计不到一个小时),并行上传也是如此(尽管这是您获得多少并行度的函数,而这又取决于存档文件的大小)。

顺便说一句,您可以gsutil -m通过文件中的parallel_thread_countparallel_process_count变量调整使用的并行性$HOME/.boto

于 2012-10-20T18:35:37.487 回答