Spark SQL介绍

Spark SQL结合了SQL的便利性和Spark的高性能,成为大数据分析的重要工具。它简化了编程,提供了自动优化,并允许更有效利用内存。尽管存在RDD和DataFrame的局限性,DataSet作为其进一步发展,提供编译时类型检查。Spark SQL在Spark生态系统中扮演关键角色,连接流处理、机器学习和内核。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spark SQL会成为spark的未来,spark以后的框架、其他的框架都会架构在spark SQL的基础之上!

1.大数据为什么要使用 SQL

  1. 与我们已有的BI等数据分析系统集成在一块

  2. 多数人都会SQL而且习惯了用SQL做数据分析

  3. 开发速度快

2.大数据为什么要使用 spark SQL

  1. 与直接基于RDD编程相比,写 spark SQL代码更少,编写更快,更容易修改和理解

  2. 相比于直接进行RDD编程而言,spark SQL会自动地进行性能优化

  3. 更有效地使用必要的数据,提高内存的使用价值

3.有了SQL为什么还要DataSet

SQL可以快速实现你的简单的想法,但是复杂的不行,总而言之:SQL虽然强大,但是表达能力不行。如类型检查,机器学习

4. 局限性

RDD的局限性:RDD的本身内部是一条一条的record,没有每个record的schema,不能像谓词下推等优化,不能方便地读取不同类型的数据,如读取parquet,想合并数据源时也不简单。

DataFrame的局限性:Dataframe是函数式的编程风格,不支持领域对象,运行时才类型检查。

DataSet是在DataFrame的基础上的发展出来的,是一种OO风格的接口,编译时就类型检查。

杂记

  1. Tungsten的开发计划是五年,钨丝计划针对的是CPU、内存、磁盘、网络。网络的优化已经做得很好了,网络、磁盘的优化提升的效果并不是很明显,所以第一阶段的优化是内存,第二阶段是CPU。

  2. spark在大数据中某些方面不是最好的技术, Fink在某些理念和实现上都比spark好,但是由于某些原因最火爆的还是spark

  3. spark SQL的理解:spark SQL会在spark的未来中成为中流砥柱的角色,它连通了上面的流处理、机器学习和下面的内核。

  4. DSL:领域专用语言

以上内容部分来自[DT大数据梦工厂]首席专家Spark专家王家林老师的课程分享。感谢王老师的分享,更多精彩内容请扫描关注[DT大数据梦工厂]微信公众号DT_Spark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值