Spark SQL 初识1(2.0)

什么是Spark SQL 

1. Apache Spark SQL 是Spark用来操作结构化与半结构化数据的接口。

2. 从历史来讲,Spark SQL 的前身是Shark (SQL on Spark), Shark之于Spark就相当于hive 之于Hadoop MapReduce。

3. Spark SQL提供了一种特殊的RDD,早些版本称为SchemaRDD,从Spark1.3.0以后的版本,SchemaRDD已被一个称为DataFrames的编程抽象取代, DataFrames可以充当分布式SQL查询引擎。

Spark SQL 动机与解决方案

动机:

1. 多数的数据处理流程既需要关系型操作,又需要过程性操作, 比如:
1) 用户一方面需要关系型操作(如数据查询、统计分析)
2) 另一方面又需要过程式的操作(如ETL、机器学习与图分析等高级数据处理)  注解:ETL,Extraction-Transformation-Loading的缩写,中文名为数据抽取、转换和加载
2. 这两类操作常常是割裂的

解决方案(两大贡献):

1.DataFrame API : 将关系型的处理与过程型处理结合起来,可以对外部数据源(Hive、JSON等) 和Spark内建的分布式集合RDD进行关系型操作。
2. Catalyst : 一个可扩展的SQL查询优化器,采用了Scala语言的特性(模式匹配,Quasiquotes(https://docs.scala-lang.org/overviews/quasiquotes/intro.html))可增加组合规则、控制代码生成,定义扩展。

Spark SQL 的编程接口



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值