首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于Dask的拼图谓词下推过滤

基于Dask的拼图谓词下推过滤
EN

Stack Overflow用户
提问于 2020-08-24 22:38:02
回答 1查看 618关注 0票数 2

在读取DataFrame时,如何应用基于Parquet min/max值的谓词下推筛选器?

假设您有一个包含4个Parquet文件的数据池,每个文件都有nicknameage列。此表显示每个文件的Parquet文件名、年龄最小值和年龄最大值。

代码语言:javascript
运行
复制
| File          | min | max |
|---------------|-----|-----|
| pets1.parquet | 1   | 9   |
| pets2.parquet | 3   | 9   |
| pets3.parquet | 2   | 4   |
| pets4.parquet | 7   | 12  |

假设您希望对年龄大于10的所有数据行执行分析。您知道在执行此分析时可以跳过pets1.parquetpets2.parquetpets3.parquet,因为这些文件中的最大年龄小于筛选器查询中的最小值。跳过文件可以使一些分析运行得更快。

下面是API文档中的read_parquet方法签名:dask.dataframe.read_parquet(path, columns=None, filters=None, categories=None, index=None, storage_options=None, engine='auto', gather_statistics=None, split_row_groups=None, chunksize=None, **kwargs)

filter参数有帮助吗?你能提供一个代码片段吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-25 19:21:02

是的,filters参数正是您想要的,如下所示:

dask.dataframe.read_parquet(path,filters=('age',“‘>,10),.)

这将跳过行组/文件,其中任何行都不能满足条件。

请注意,要使其工作,您可能需要gather_statistics=True或全局_metadata文件(其存在将取决于数据是如何编写的)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63569589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档