Spark SQL 概念

(1) 分支

  • SQLContext
    • 仅支持 SQL 语法解析起
  • HiveContext
    • 支持 SQL 和 HiveSQL 语法解析器
    • 默认为 HiveSQL 语法解析器

执行顺序:词法/语法解析 > 绑定 > 优化 > 执行

(2) 组成

  • Core
    • 负责处理数据的输入输出(获取数据、查询结果输出为 DataFrame 等)
  • Catalyst
    • 负责处理整个查询过程(包括解析、绑定、优化等)
  • Hive
    • 负责对 Hive 数据进行处理
  • Hive-ThriftServer
    • 用于访问 Hive

(3) 行式存储、列式存储

行式存储(TP 事务型业务) 列式存储(AP 数据分析和统计业务、批处理)
优点 数据被保存在一起;Insert/Update 方便 查询时只有涉及到的列被读取;任何列都能作为索引
缺点 查询时会读取所有数据 查询时,被选择的列要重新组装;Insert/Update 不便

你可能感兴趣的:(Spark SQL 概念)