首页 > 解决方案 > 直到 dask 2.2.0 read_parquet 过滤器参数似乎不再适用于 pyarrow 引擎

问题描述

当我将 dask 从 2.1.0 升级到 2.2.0(或 2.3.0)时,以下代码改变了它的行为并像以前一样停止过滤镶木地板文件。这仅适用于 pyarrow 引擎(fastparquet 引擎仍然可以很好地过滤)。

我在 Dask 2.2.0 和 2.3.0 上尝试了 pyarrow 0.13.1、0.14.0 和 0.14.1,但没有成功。

我以前的工作设置是:Dask 2.1.0 和 Pyarrow 0.14.1

此代码适用于 pyarrow 引擎

import dask.dataframe as dd
dd.read_parquet(directory, engine='pyarrow', filters=[(('DatePart', '>=', '2018-01-14'))])

需要注意的是,fastparquet 引擎的等效代码必须删除一个列表级别 -> 这仍然适用于 fastparquet

import dask.dataframe as dd
dd.read_parquet(directory, engine='fastparquet', filters=[('DatePart', '>=', '2018-01-14')])

我的镶木地板存储由“DatePart”和现有的 _metadata 文件进行分区。

现在不再使用 pyarrow 引擎过滤生成的数据帧。没有错误消息。

标签: daskparquetpyarrow

解决方案


听起来您正在尝试报告错误。我建议在https://github.com/dask/dask/issues/new报告错误

有关Dask 开发人员更喜欢在哪里查看问题的更多信息,请参阅https://docs.dask.org/en/latest/support.html#asking-for-help 。


推荐阅读