【问题标题】:modin pandas read_parquet() failed on ETag KeyError trying to read a partitioned parquet from s3modin pandas read_parquet() 在 ETag KeyError 尝试从 s3 读取分区镶木地板时失败
【发布时间】:2021-06-23 15:59:33
【问题描述】:

我从 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

【问题讨论】:

  • 嗨!你解决过这个问题吗?从 S3 读取镶木地板文件夹时,我遇到了同样的问题,尽管我使用的是 pyarrow 而不是 fastparquet。我看到你引用的这个问题已经关闭,所以我不知道你是否找到了解决方案。 github.com/modin-project/modin/issues/3185
  • 嘿,不幸的是,我转向了不同的解决方案(即不使用 modin)。我可以回去检查是否正在工作。

标签: python dataframe amazon-s3 parquet modin


【解决方案1】:

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

【讨论】:

  • 我不会投票删除,但这个答案是所有链接。如果您希望答案站得住脚,请稍微充实一下,至少对每个链接所说的内容进行单行摘要,这样即使/当这些链接死了,答案也可以站得住脚并且有用。
  • 我为每个链接添加了更多描述,@joanis。够了吗?
猜你喜欢
  • 2020-01-07
  • 2019-12-07
  • 2023-02-07
  • 2019-10-27
  • 1970-01-01
  • 2019-09-30
  • 2017-12-18
  • 2018-05-19
  • 2018-11-22
相关资源
最近更新 更多