dask - 直到 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 引擎过滤生成的数据帧。没有错误消息。
解决方案
听起来您正在尝试报告错误。我建议在https://github.com/dask/dask/issues/new报告错误
有关Dask 开发人员更喜欢在哪里查看问题的更多信息,请参阅https://docs.dask.org/en/latest/support.html#asking-for-help 。
推荐阅读
- python - 如何有效限制 Python 中 SimPy 生成的进程?
- python - Method Not Allowed 请求的 URL 不允许使用该方法。(烧瓶)
- spring-batch - 在春季批处理中从平面文件中读取的动态列
- reactjs - Redux Jest 测试 fetchMock.getOnce 不工作
- typescript - Typescript 使用解构+休息在 Fn 的参数上添加类型
- c# - 在代码 wpf 中找不到代码生成的控件
- javascript - 如何在 html-page 中使用 Dropdownlist 更改选择?
- python-3.x - 我尝试为我的 SLAMTECH RPlidar 运行代码,但激光雷达没有在我的 python 窗口中导入,但它显示它已在我的终端上导入
- javascript - Fabric JS画布-无法读取null的属性'getObjects'
- thingsboard - Thingsboard 资产类型在所有客户组之间共享