从Google云端存储中提取RAR文件

时间:2012-10-20 04:09:51

标签: google-cloud-storage

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

2 个答案:

答案 0 :(得分:7)

这个问题已经得到解答(并被接受),但是对于未来类似的用例,我建议在GCE中通过启动一个小的Linux实例(例如f1-micro,然后运行)完全在云端完成这个问题。 Marc Cohen在his answer中提出的步骤。这些实例预先安装了gsutil,因此易于使用。完成后,只需关闭并删除您的微实例,因为生成的文件已存储在Google云端存储中。

分步说明:

  1. Create a Google Compute Engine VM instance
  2. SSH to the instance
  3. 按照the other answer
  4. 中的说明操作

    这样做的好处是,您不是在自己的计算机上下载,而是在Google Cloud内部传输所有数据,因此传输速度非常快,并且不依赖于您自己的Internet连接速度或使用任何你的带宽。


    注意:网络带宽与VM的大小(在vCPU中)成正比,因此为了提高性能,请考虑创建更大的VM。 Google Compute Engine pricing for VM instances如下:

    1. 至少10分钟
    2. 向上舍入到最近的分钟
    3. 因此,例如,假设n1-standard-1费用为每小时0.05美元(截至2016年10月8日),则15分钟的使用费用总计为0.0125美元。

答案 1 :(得分:4)

无法直接在云中解压缩/提取您的RAR文件。您是否了解gsutil -m(多线程/多处理)选项?它通过并行运行来加速传输。我建议这个顺序:

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

除非您的互联网连接速度非常慢,否则20GB不应该花很长时间(一小时之内,我期待)以及并行上传(尽管这是您获得多少并行性的函数,取决于存档文件的大小。)

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