SparkSql概念总结

SparkSql


目录

      • SparkSql
        • 1、Spark on Hive和Hive on Spark
        • 2、DataFrame和DataSet
        • 3、SparkSql底层架构
        • 4、什么是谓词下推?


1、Spark on Hive和Hive on Spark

  • Spark on Hive:即Hive只作为存储角色,Spark负责sql解析优化,执行
  • Hive on Hive:即Hvie不仅存储又作解析,SPark来负责执行

2、DataFrame和DataSet

SparkSql概念总结_第1张图片

  • DataFrame:底层依旧是RDD,通过将数据转换成DataFrame对象,即二维表再进行sql,DataFrame对象内表示一行一行的数据,主要是提高执行效率和执行优化
  • DataSet:是分布式的数据集合,提供强类型的支持,作用与DataFrame类似,不过DataFrame属于DataSet的一种特例DataFrame=DataSet[Row]

3、SparkSql底层架构

SparkSql概念总结_第2张图片
首先Sql命令会经过Sql解析器,解析层逻辑语句,再由LogicalPlan将逻辑语句编译成逻辑计划,再经过优化规则对逻辑计划进行优化,最后经过SparkPlanner变成一批批物理计划(整体流程与hive相似)


4、什么是谓词下推?

Predicate Pushdown简称谓词下推,简单说就是通过将筛选条件进行提前执行并不影响最后的结果即可,谓词下推后,过滤条件再map执行,大大减少了map端的输出,提高了reduce拉取数据的效率,节约了资源,提高了任务的执行能力。
SparkSql概念总结_第3张图片


你可能感兴趣的:(Java+大数据之旅,spark)