在 sql 语言中,where 表示的是过滤,这部分语句被 sql 层解析后,在数据库内部以谓词的形式出现;

在 sparkSQL 中,如果出现 where,它会现在数据库层面进行过滤,一般数据库会有索引,效率不会太低,

sparkSQL 只读取过滤后的数据,大大减少数据量,提高效率,特别是提高 join 的效率

大致过程如图

spark教程(19)-sparkSQL 性能优化之谓词下推-LMLPHP

05-11 15:04