【问题标题】:How to get the list of files in the GCS Bucket using the Jupyter notebook in Dataproc?如何使用 Dataproc 中的 Jupyter notebook 获取 GCS Bucket 中的文件列表?
【发布时间】:2021-08-03 19:59:23
【问题描述】:


我最近开始在我的项目中使用 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 notebook 迭代存储桶中的文件?

不胜感激!

【问题讨论】:

    标签: python google-cloud-platform jupyter-notebook google-cloud-storage google-cloud-dataproc


    【解决方案1】:

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

    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]
    

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

    【讨论】:

    • 非常感谢!它有帮助!我还阅读了有关此功能的更多信息,并且,为了将来的读者,没有必要在这里创建bucketclient.list_blobs(BUCKET_NAME) 也可以
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    相关资源
    最近更新 更多