我想从AWS S3中读取Parquet文件的选定列表。我知道如何使用* parquet读取目录中的所有文件,或者仅指定该键来读取一个文件。但是,我只想根据一些先前的用户输入来读取文件的特定列表。
这可能吗?
以下代码来自其API文档,但不能满足我的要求:
import dask.dataframe as dd
df = dd.read_parquet('s3://bucket/path/to/data-*.parque')
(OR)
df = dd.read_parquet('s3://bucket/path/to/file.parque')
是否可以通过read_parquet参数传递目标文件列表?
答案 0 :(得分:1)
使用Boto3,找到所有对象键,然后列出所需的所有对象,并创建包含这些对象的列表,并将它们在for循环中传递给DF
使用S3fs,您可以像在Linux中一样列出对象,可以将所有对象名称存储在列表中,然后在for循环中将其一一传递给DF
有关Boto3的更多信息获取特定对象:Boto3: grabbing only selected objects from the S3 resource
s3fs的来源:https://medium.com/swlh/using-s3-just-like-a-local-file-system-in-python-497737783f11