parquet predicate 下推

l0oc07j2  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(669)

parquet的 predicate pushdown是否意味着只有所需的数据才真正从磁盘加载?
e、 如果我创建一个sparkDataframe select 特定字段,是否只从磁盘读取这些字段?

mrphzbgm

mrphzbgm1#

predicate 下推处理将扫描哪些值,而不是哪些列。因此,如果对列a应用filter只返回值为v的记录, predicate push down将使parquet成为可能包含值v的只读块。parquet在多个级别上保存min/max统计信息,它将把值v与那些min/max头进行比较,并且只扫描min/max包含值v的块。这是用于 predicate 下推。
parquet的另一个特性是“投影下推”(projection pushdown)——它将数据存储在列中,因此当您的投影将查询限制为某些列时,将只返回这些列。这个特性不是所谓的 predicate 下推。

相关问题