什么是Spark SQL, Spark SQL优势 18

1. Spark SQL的前世今生

  • Shark是一个为Spark设计的大规模数据仓库系统, 它与Hive兼容. Shark建立在Hive的代码基础上, 并通过将Hive的部分物理执行计划交换出来.
  • 这个方法使得Shark的用户可以加速Hive的查询, 但是Shark继承了Hive的大且复杂的代码, 使得Shark很难优化和维护, 同时Shark依赖于Spark的版本.
  • 随着我们遇到了性能优化的上限, 以及集成SQL的一些复杂的分析功能, 我们发现Hive的MapReduce设计的框架限制了Shark的发展.
  • 在2014年7月1日的Spark Summit上, Databricks宣布终止对Shark的开发, 将重点放到SparkSql上.

2. 什么是Spark SQL

在这里插入图片描述

  • SparkSql是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame, SparkSql是分布式SQL查询引擎.
  • 相比Spark RDD API, SparkSql包含了对结构化数据和在其上运算的更多信息, SparkSql使用这些信息进行了额外的优化, 使对结构化数据的操作更加高效和方便.
  • 有更多方式去使用SparkSql, 包括SQL, DataFrames API

3. Spark SQL优势和特点

  • 我们已经学习了Hive, 它是将Hive Sql转换为MapReduce然后提交到集群中执行, 大大简化了编写MR程序的复杂性.
  • Spark SQL是将Spark SQL转换为RDD, 然后提交到集群中去运行,执行效率非常快.

Spark SQL有如下特点:

  1. 易整合
    在这里插入图片描述
    将sql查询与Spark程序无缝混合, 可以使用java, scala, python, R等语言的API操作.
  2. 统一的数据访问
    在这里插入图片描述
    以相同的方式连接到任何数据源.
  3. 兼容Hive在这里插入图片描述
    支持HiveSql的语法
  4. 标准的数据连接
    在这里插入图片描述
    可以使用行业标准的JDBCODBC连接.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值