是否可以通过grep浏览存储在Google Cloud Storage中的文本文档?

时间:2019-03-05 02:10:08

标签: google-cloud-platform google-cloud-storage gsutil

问题

是否可以通过grep浏览存储在Google Cloud Storage中的文本文档?

背景

我在VM上存储了超过1万个文档(txt文件),并且正在用尽空间。在达到极限之前,我想将文档移到其他位置。 目前,我正在考虑迁移到GCP上的Google Cloud Storage。

问题

有时,我需要使用特定的关键字对文档进行grep。 我想知道是否可以通过grep浏览Google Cloud Storage上载的文档? 我检查了gsutil文档,但似乎支持ls,cp,mv,rm,但我看不到grep。

5 个答案:

答案 0 :(得分:4)

不幸的是,没有像grep这样的命令可用于gsutil。

唯一相似的命令是 gsutil cat

我建议您可以创建一个小型vm,并且云中的grep将更快,更便宜。

gsutil cat gs://bucket/ | grep "what you wnat to grep"

答案 1 :(得分:3)

@howie answer很好。我只想提及Google Cloud Storage是一种用于存储文件的产品,并不关心文件的内容。此外,它还具有可大规模扩展的能力,并且您所要求的操作在计算上非常昂贵,因此将来不太可能会对其进行本机支持。

就您而言,我将考虑为文本文件和trigger an update for it every time a new file is upload to GCS创建索引。

答案 2 :(得分:1)

我还有另一个建议。您可能要考虑使用Google Dataflow处理文档。您可以移动它们,但更重要的是,您可以使用Dataflow转换文档。

答案 3 :(得分:0)

我找到了这个问题的答案。 gcpfuse解决了这个问题。

将Google云存储安装到特定目录。 您可以从那里grep。

https://cloud.google.com/storage/docs/gcs-fuse https://github.com/GoogleCloudPlatform/gcsfuse

答案 4 :(得分:0)

我已经写了一个Linux本机二进制文件[mrgrep](适用于ubuntu 18.04)(https://github.com/romange/gaia/releases/tag/v0.1.0)。它直接从GCS读取数据,此外,它还处理压缩文件并且具有多线程功能。