我最近开始在我的项目中使用 GCP,但在使用 Dataproc 集群中的 Jupyter notebook 中的存储桶时遇到了困难。目前,我有一个包含一堆文件的存储桶,以及一个带有 Jupyter 笔记本的 Dataproc 集群。我想要做的是遍历存储桶中的所有文件并从中提取数据以创建数据框。
我可以使用以下代码一次访问一个文件:data = spark.read.csv('gs://BUCKET_NAME/PATH/FILENAME.csv')
,但是有数百个文件,我无法为每个文件编写一行代码。通常,我会做这样的事情:
导入操作系统
对于 os.listdir(目录)中的文件名:
...
但这在这里似乎行不通。所以,我想知道如何在 Dataproc 集群中使用 Jupyter notebook 迭代存储桶中的文件?
非常感谢任何帮助!
最佳答案
您可以使用以下命令列出存储桶中的元素:
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]
如果您的存储桶中没有文件夹,名为文件的列表将包含文件的名称。
关于python - 如何使用 Dataproc 中的 Jupyter notebook 获取 GCS Bucket 中的文件列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67520854/