在 sql 语言中,where 表示的是过滤,这部分语句被 sql 层解析后,在数据库内部以谓词的形式出现;在 sparkSQL 中,如果出现 where,它会现在数据库层面进行过滤,一般数据库会有索引,效率不会太低,sparkSQL 只读取过滤后的数据,大大减少数据量,提高效率,特别是提高 join 的效率大致过程如图