如何使用 Dataproc 中的 Jupyter 笔记本获取 GCS 存储桶中的文件列表?

Ole*_*kyi 3 python google-cloud-storage google-cloud-platform google-cloud-dataproc jupyter-notebook


我最近开始在我的项目中使用 GCP,在使用 Dataproc 集群中 Jupyter 笔记本中的存储桶时遇到了困难。目前,我有一个包含一堆文件的存储桶,以及一个包含 Jupyter 笔记本的 Dataproc 集群。我想做的是检查存储桶中的所有文件并从中提取数据以创建数据框。

我可以使用以下代码一次访问一个文件:data = spark.read.csv('gs://BUCKET_NAME/PATH/FILENAME.csv'),但是有数百个文件,我无法为每个文件编写一行代码。通常,我会做这样的事情:

import os
for filename in os.listdir(directory):
...

但这似乎在这里不起作用。因此,我想知道如何使用 Dataproc 集群中的 Jupyter 笔记本迭代存储桶中的文件?

将不胜感激任何帮助!

小智 5

您可以使用以下命令列出存储桶中的元素:

from google.cloud import storage
client = storage.Client()
BUCKET_NAME = 'your_bucket_name'
bucket = client.get_bucket(BUCKET_NAME)
elements = bucket.list_blobs()
files=[a.name for a in elements]
Run Code Online (Sandbox Code Playgroud)

如果您的存储桶中没有文件夹,名为文件的列表将包含文件的名称。