处理 Google 云存储中的文件
Process a file in Google Cloud storage
我在 GCS 中有一些非常大的文件 (100GB) 需要处理以删除无效字符。
下载并处理它们并再次上传它们需要很长时间。
有谁知道是否可以在 Google 云平台中处理它们而无需 download/upload?
我熟悉 Python 和云功能(如果可以的话)。
正如 John Hanley 在评论部分所说,云存储上没有计算功能,因此要处理它,您需要下载它。
话虽如此,您可以启动 Compute Engine 虚拟机,下载该文件,然后使用 Python 脚本处理它(因为您已声明您'重新熟悉 Python),并更新了处理后的文件。
在 Compute Engine VM 上下载文件(虽然这取决于机器类型)可能比在您的计算机上下载文件更快。
此外,为了更快地下载大文件,您可以使用一些 gsutil
选项:
gsutil \
-o 'GSUtil:parallel_thread_count=1' \
-o 'GSUtil:sliced_object_download_max_components=16' \
cp gs://my-bucket/my-huge-file .
为了更快地上传大文件,您可以使用并行复合上传:
gsutil \
-o 'GSUtil:parallel_composite_upload_threshold=150M' \
cp my-huge-file gs://my-bucket
我在 GCS 中有一些非常大的文件 (100GB) 需要处理以删除无效字符。 下载并处理它们并再次上传它们需要很长时间。 有谁知道是否可以在 Google 云平台中处理它们而无需 download/upload?
我熟悉 Python 和云功能(如果可以的话)。
正如 John Hanley 在评论部分所说,云存储上没有计算功能,因此要处理它,您需要下载它。
话虽如此,您可以启动 Compute Engine 虚拟机,下载该文件,然后使用 Python 脚本处理它(因为您已声明您'重新熟悉 Python),并更新了处理后的文件。
在 Compute Engine VM 上下载文件(虽然这取决于机器类型)可能比在您的计算机上下载文件更快。
此外,为了更快地下载大文件,您可以使用一些 gsutil
选项:
gsutil \
-o 'GSUtil:parallel_thread_count=1' \
-o 'GSUtil:sliced_object_download_max_components=16' \
cp gs://my-bucket/my-huge-file .
为了更快地上传大文件,您可以使用并行复合上传:
gsutil \
-o 'GSUtil:parallel_composite_upload_threshold=150M' \
cp my-huge-file gs://my-bucket