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

Polars read_csv_batched在GCS环境下无法使用的问题求助

从GCS加载大CSV到Polars时的内存与read_csv_batched兼容问题

核心问题

  • 加载GCS上1GB以上的CSV文件时遭遇内存瓶颈,尝试用read_csv_batched方法优化,但该方法无法兼容GCS的多种读取方式:
    • 原生GCS blob字节、blob.open()、fsspec/gcsfs这些在read_csv中正常工作的方式,在read_csv_batched里全部失败,报错信息固定为:error: expected str, bytes or os.PathLike object, not TextIOWrapper

本地测试情况(UPDATE1)

  • 在8GB内存的本地环境,先下载目标季度文件后运行以下代码:
df = pl.scan_csv(filename).collect(engine='streaming')
  • 冷启动(重启后无其他程序)首次运行耗时约48秒
  • 二次运行耗时约2秒
  • 但内存紧张场景下(比如开发环境满负载),会直接导致会话崩溃、Ubuntu强制登出,因此转向read_csv_batched但在GCP环境无法正常使用
  • 需求:需要在内存受限环境(最终部署至GCP Cloud Run)中稳定加载大文件,可接受较慢的处理速度

Cloud Run测试情况(UPDATE2)

  • 在配置2vCPU、8GB内存的GCP Cloud Run服务中,运行以下代码仍因内存不足崩溃:
fs = gcsfs.GCSFileSystem(project='projectname', token='cloud')

file = fs.open(full_filename, 'rb')
source_data=pl.scan_csv(source=file
                        , schema=source_schema
                        , truncate_ragged_lines=True
                    ,low_memory=True).collect(engine='streaming')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:48:16