day56-Spark SQL和DataFrame的本质

以下内容来源于DT大数据梦工厂:



SparkSQL 于DtaFrame

DataFrame与RDD

企业实践

一、    SparkSql于DataFrame

sparkSql之所以是出了spark core以外最大的和最受欢迎组件原因是:1、处理各种存储介质和各种格式的数据(可以方便扩展sparkSQL的功能来支持更多类型的数据例如kudu)

2、sparkSQL把数据仓库的计算能力推向了新的高度(Tangsten,sparkSQL后续推出的DataFrame可以让数据直接使用机器学习,图计算等复杂的算法来对数据仓库进行复杂深度数据价值挖掘)。

3、sparkSQL(DataFrame,DataSet)不仅是数据仓库的引擎,也是数据挖掘的引擎更为重要的是sparkSQL是数据科学计算和分析引擎。

4、后来的DataFramesparkSQL)一举成为了大数据计算引擎的技术实现尤其在TungSten的强力支持下

5Hive+SparkSQL+DataFrame

5.1hive负责廉价的数据仓库设置存储

5.2sparkSQL:负责高速的计算

5.3DataFrame复杂复杂的挖掘技术

二、    DataFrame与RDD

1、         R和Python都有DataFrame,spark中的dataFerame。Spark中的dataFrame是一个分布式的Table形式如下

Name

Age

Tel

 

 

String

Int

Long

 

 

String

Int

Long

 

 

String

Int

Long

 

 

String

Int

Long

 

 

String

Int

Long

 

 

String

Int

Long

 

 

DataFrame带有具体每条数据的schel元数据信息,在二维表中每一列都带有数据名称和数据类型

 

RDD 形式如下

Person

Person

Person

                Person

                 Person

                      Person

                       Person

RDD本身不知道person里面有什么数据,

DataFrane 和RDD的根本差异:

a:RDD是以Record为单位的,spark在优化的时候无法获得Record的内部细节,也就是无法进行更深度的优化,这极大的限制了sparkSQL性能的提升

b:DataFrame包含了每个Record的MeataData信息,也就是说DataFrame的优化属于内部的优化,不能像RDD一样只能基于行进行优化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值