SparkSql

本质(是什么)(我在试着讲明白)

SparkSql 的官网是: http://spark.apache.org/sql/
sparkSql 是 spark on hive 一种基于 内存 的 交互式查询 应用服务。
spark 负责 解析优化、执行引擎。hive 负责存储
sparkSql 底层是 DataFrame(可以理解成一个二维表格,有数据、列的schema信息)

作用(干什么)(我在试着讲明白)

hive :将hive sql 转换成 mr,减少了mr查询的复杂性,但慢!
使spark脱离hive,不依赖hive 的解析优化
sparkSql 用来处理结构化的一个模块。提供一个抽象的数据集DataFrame,作为分布式Sql查询引擎的应用。

架构(有什么)(我在试着讲明白)

Spark SQL由core,catalyst,hive和hive-thriftserver4个部分组成。

core: 负责处理数据的输入/输出,从不同的数据源获取数据(如RDD,Parquet文件和JSON文件等),然后将结果查询结果输出成Data Frame。
catalyst: 负责处理查询语句的整个处理过程,包括解析,绑定,优化,生成物理计划等。
hive: 负责对hive数据的处理。
hive-thriftserver:提供client和JDBC/ODBC等接口。
而sparksql的查询优化器是catalyst,它负责处理查询语句的解析,绑定,优化和生成物理执行计划等过程,catalyst是sparksql最核心部分。

sparkSql是spark Core之上的一个模块,sql最终都通过Catalyst翻译成类似的spark程序代码被sparkCore执行,过程也有 job、stage、task的概念
在这里插入图片描述

1.Catalyst执行优化器

1.1 Catalyst最主要的数据结构是树,所有的SQL语句都会用树结构来存储,树中的每个节点都有一个类,以及0或多个子节点。Scala中定义的新的节点类型都是TreeNode这个类的子类,这些对象是不可变的。

1.2 Catalyst另外一个重要的概念是规则,基本上&

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值