4

我从 pandas 创建了一个数据框,并使用 to_parquet(...) 直接写入 s3。

论据是:

df.to_parquet('s3://bucket/fn.parquet', compression='gzip', engine='fastparquet', partition_cols=['col1'])

当我使用 pandas 时pandas.read_parquet(url),数据框加载正常。

但是当我使用时modin.pandas.read_parquet(url),我得到以下错误:

 File "/home/mguo/anaconda3/envs/testenv/lib/python3.7/site-packages/s3fs/core.py", line 1779, in __init__
    self.req_kw["IfMatch"] = self.details["ETag"]
KeyError: 'ETag'

以下是我的版本:

python==3.7.3
pandas==1.2.4
modin==0.10.0
s3fs==2021.6.0
4

1 回答 1

1

Modin GitHub 上的这个问题跟踪了对在 Modin 中读取分区文件的支持read_parquet,正如您在此处尝试做的那样。Modin GitHub 上的这个拉取请求添加了该功能并解决了该问题。如果升级到最新版本的 Modin (0.12.0),您应该能够在没有 ETag KeyError 的情况下读取分区 parquet 文件。

于 2021-12-08T18:34:37.073 回答