parquet的谓词下推是否意味着实际只从磁盘加载了所需的数据?
E.g。如果我创建一个火花数据帧并且只创建select
个特定字段,那么仅这些字段是否会从磁盘中读取?
答案 0 :(得分:6)
谓词下推处理将扫描哪些值而不是哪些列。 因此,如果在A列上应用过滤器仅返回值为V的记录,则谓词下推将使镶木地板只读块可能包含值V. Parquet在几个级别中保存最小/最大统计数据,它将比较值V与那些最小/最大标题,并且仅扫描最小/最大包含值V的块。 这是谓词下推。
镶木地板的另一个问题是“投影下推” - 它将数据存储在列中,因此当您的投影将查询限制为某些列时,只会返回这些列。此功能不是所谓的谓词下推。