You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Polars从S3读取Parquet文件仅加载首个文件问题咨询

Polars读取S3上Redshift UNLOAD生成的Parquet文件仅返回首个文件数据的问题解决

这绝对不是正常现象,大概率是S3路径通配符解析或Polars的S3读取配置出了问题,以下是排查和解决方向:

  • 检查通配符匹配规则
    试试把读取路径改成更精准的匹配格式:pl.read_parquet("s3://my_bucket/my_folder/000*_part_00.parquet"),避免因为S3的前缀匹配逻辑导致通配符没有覆盖所有文件。另外确认my_folder目录下确实只有这4个目标Parquet文件,没有其他干扰项。

  • 补全S3相关依赖
    Polars读取S3存储需要额外的依赖包支持,如果你只装了基础版Polars,可能会出现通配符解析失效的情况。执行以下命令补全依赖:

    pip install polars[s3]
    # 或者单独安装fsspec的S3扩展
    pip install fsspec[s3]
    

    安装完成后重新运行读取代码。

  • 手动指定文件列表读取
    如果通配符始终有问题,直接手动列出所有文件路径来读取,绕开通配符解析环节:

    import polars as pl
    
    s3_files = [
        "s3://my_bucket/my_folder/0000_part_00.parquet",
        "s3://my_bucket/my_folder/0001_part_00.parquet",
        "s3://my_bucket/my_folder/0002_part_00.parquet",
        "s3://my_bucket/my_folder/0003_part_00.parquet"
    ]
    full_df = pl.read_parquet(s3_files)
    print(full_df.shape)  # 应该输出(1239, 列数)
    
  • 验证S3文件的可访问性
    确认当前AWS权限能访问所有4个文件:用AWS CLI执行aws s3 ls s3://my_bucket/my_folder/,检查是否能看到全部4个文件;再尝试下载其中一个非首个文件到本地,用Polars读取验证文件本身是否正常,排除权限不足或文件损坏的可能。

内容的提问来源于stack exchange,提问作者FairPluto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:33:20