pyspark 列出 s3 存储桶中文件夹的子文件夹

Jug*_*ngh 4 amazon-s3 dataframe pyspark s3-bucket

我有一个s3存储桶,其中存储要由我的 pyspark 代码处理的数据文件。我要访问的文件夹是:

s3a://bucket_name/data/
Run Code Online (Sandbox Code Playgroud)

此文件夹包含文件夹。我的目标是访问此目录中最后添加的文件夹的内容。由于某些原因,我不想使用 boto。有什么方法可以访问文件夹列表,以便我可以选择我想访问的文件夹。如果我指定文件夹,我可以访问文件,但我想让它动态。

sze*_*lin 5

我建议使用 s3fs,它是 boto3 上的文件系统样式包装器。文档在这里:http : //s3fs.readthedocs.io/en/latest/

这是您关心的部分(您可能需要传入或以其他方式配置您的 AWS 凭证):

import s3fs
fs = s3fs.S3FileSystem(anon=True)
fs.ls('my-bucket')
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这很好用。如果您在 EMR 集群上运行它,请将 `pip install s3fs` 添加到您的 bash 引导脚本,您可能会在您的代码或 EMR 笔记本中使用 `s3fs.S3FileSystem(anon=False)`。 (3认同)