spark数据查询语句select_Spark SQL数据查询的利器

介绍了弹性分布式数据集的特性和它支持的各种数据操作。不过在实际的开发过程中,我们并不是总需要在 RDD 的层次进行编程。就好比编程刚发明的年代,工程师只能用汇编语言,到后来才慢慢发展出高级语言,如 Basic、C、Java 等。使用高级语言大大提升了开发者的效率。同样的,Spark 生态系统也提供很多库,让我们在不同的场景中使用。今天,让我们来一起探讨 Spark 最常用的数据查询模块——Spark SQL。

Spark SQL 发展历史

几年前,Hadoop/MapReduce 在企业生产中的大量使用,HDFS 上积累了大量数据。

由于 MapReduce 对于开发者而言使用难度较大,大部分开发人员最熟悉的还是传统的关系型数据库。

为了方便大多数开发人员使用 Hadoop,Hive 应运而生。

Hive 提供类似 SQL 的编程接口,HQL 语句经过语法解析、逻辑计划、物理计划转化成 MapReduce 程序执行,使得开发人员很容易对 HDFS 上存储的数据进行查询和分析。

在 Spark 刚问世的时候,Spark 团队也开发了一个 Shark 来支持用 SQL 语言来查询 Spark 的数据。

Shark 的本质就是 Hive,它修改了 Hive 的内存管理模块,大幅优化了运行速度,是 Hive 的 10 倍到 100 倍之多。

但是,Shark 对于 Hive 的依赖严重影响了 Spark 的发展。Spark 想要定义的是一个统一的技术栈和完整的生态,不可能允许有这样的外在依赖。

试想,如果 Spark 想发布新的功能还需要等 Hive 的更新,那么势必会很难执行。此外,依赖于 Hive 还制约了 Spark 各个组件的相互集成,Shark 也无法利用 Spark 的特性进行深度优化。

image.png

所以,2014 年 7 月 1 日,Spark 团队就将 Shark 交给 Hive 进行管理,转而开发了 SparkSQL。

SparkSQL 摒弃了 Shark 的(将 SQL 语句转化为 Spark RDD 的)执行引擎,换成自己团队重新开发的执行引擎。

Spark SQL 不仅将关系型数据库的处理模式和

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值