现在我正在谷歌云存储(GCS)上存储约 300Gb 的图像。我有在谷歌计算引擎 (GCE) 虚拟机 (VM) 上运行的软件,需要读取所有这些图像并按顺序处理它们。这些图像不需要加载到内存中,可以作为程序的输入流式传输。我很难找到一种有效的方法来做到这一点。
我努力了:
1)GCSfuse。使用 GCSfuse,我可以在我的 VM 上安装 gcs-bucket 并直接访问数据。起初这似乎很理想,但 I/O 速度非常慢。
2)GSutil。这允许我使用“gsutil cp gs://my-gcs-bucket/training_data/*.jpg - |”将数据流式传输到我的程序中。这比 GCSfuse 好得多,但仍然很慢。
我想我有两个主要问题。1) 访问存储在 GCS 存储桶中的数据并将其作为输入流式传输到 GCE VM 上的脚本的最快方法是什么?我需要每天这样做一次,但随着时间的推移,需求可能会增加。2)如果没有快速和聪明的方法来做到这一点,我在存储方面有什么选择?我应该使用不同的谷歌云产品吗?我想避免将所有数据直接加载到 VM 上。
谢谢!