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

使用Polars scan_parquet读取本地部署IBM S3的Hive分区Parquet文件时遇Generic S3错误的排查求助

Polars scan_parquet读取本地部署IBM S3的Hive分区Parquet文件时遇Generic S3错误的排查求助

各位好,我最近在使用Polars读取本地部署的IBM S3上的Hive分区Parquet文件时碰到了一个棘手的Generic S3错误,折腾了好一阵都没解决,想过来求助大家。

错误详情

[PolarsObjectStore]: got error: Generic S3 error: Error performing list request: Error after 2 retries in *ms, mex_retries:2, retry_timeout:10s, source:error sending request for url(https://s3host/bucket?llist-type=2&prefix=root_pth)

我先后试过Polars 1.14和1.20两个版本,问题都复现了。

已尝试的排查步骤

  • 一开始怀疑Polars是通过反向代理访问S3端点,于是清空了所有可能的代理相关环境变量,但问题依旧
  • 用boto3直接访问目标Parquet文件是完全正常的,说明S3的权限、连接本身没有问题
  • 换到没有反向代理的集群上测试,还是出现一模一样的错误

想请教的问题

  • 有没有前辈遇到过类似的问题?
  • 怎么才能查看这个Generic错误的更详细日志信息?有没有办法通过Polars的功能来实现?
  • 任何关于解决或进一步排查这个问题的建议,都非常感谢!

代码片段

storage_options={"aws_access_key_id":***,"aws_secret_access_key":****, "endpoing_url":"https//hostname"}
source_path='s3//bucket/root_path_of_partitioned_data/*/*.parquet'
# data is partitioned on date column
lazy_f=pl.scan_parquet(source=source_path,storage_options=storage_options,hive_partitioning=True)
filtered_lf=lazy_f.filter(predicate)
filtered_lf.collect()

另外注意到代码里的storage_options有个明显的拼写错误:endpoing_url应该是endpoint_url,这个低级错误可能直接导致Polars无法正确识别S3端点地址,建议先修正这个拼写再测试看看。

备注:内容来源于stack exchange,提问作者EE49

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 14:33:01