Spark综合学习笔记(十七)SparkSQL概述

52 篇文章 2 订阅
5 篇文章 0 订阅

学习致谢:

https://www.bilibili.com/video/BV1Xz4y1m7cv?p=52

数据分析方式

命令式
在这里插入图片描述
缺点:有一定的学习成本/入门门槛
优点:灵活!可以使用底层api实现很复杂的业务
SQL
在这里插入图片描述
优点:入门门槛低,只要会英文单词/简单的语法规则就可以写
缺点:只能做一些简单的业务,负责业务实现起来就比较苦难

SparkSQL的前世今生

SparkSQL诞生
从Spark框架1.0开始发布SparkSQL模块开发,直到1.3版本发布SparkSQL Release版本可以在生产环境使用,再到Spark 2.0版本SparkSQL才算真正稳定,在实际开发中发挥者其巨大的作用,SparkSQL的发展经历如下几个阶段:
在这里插入图片描述

. Spark1.0之前:没有SparkSQL,有一个开源项目shark底层使用Spark作为Hive的执行引擎
·Spark1.0时: Spark自己开发了新的组件:SparksQL,使用SchemaRDD对RDD进行封装,用来表示带有约束的RDD
·Spark1.3时: SparkSQL开发了新的数据抽象:DataFrame:底层实现了RDD的大部分功能,并增加了SQL操作,不再强依赖RDD,但不支持泛型
·Spark1.6时: SparkSQL开发了新的数据抽象:DataSet:支持泛型
·Spark2.0时:统一了DataFrame和DataSet: DataSet[Row] =DataFrame,且增加了新的组件:StructuredStreaming支持SQL处理流数据

注意:
1.SparkSQL发展历史较为曲折,走了很多弯路,但也都是必须的,因为要兼容其他语言
2尽管SparkSQL的API很多(且支持很多编程语言),但是使用起来都很友好,底层也都做了很多的性能优化!

官网介绍

http://spark.apache.org/sql/
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
说明:
1.结构化数据-支持
有固定的结构和约束Schema(字段名称/类型)
在这里插入图片描述

2.半结构化数据-支持较为严格的半结构化数据
有不是固定的结构和约束(如下json为例)

[
{
"name":"jack",
"tel":"13888888888",
},
{
"name":"jack",
"tel":13888888888,
"age":18
},
{
"name":"jack",
"tel":"13888888888",
"age":"18"
}
]

3.非结构化数据-需要处理之后变为结构化/半结构化才支持
如视频/图片/音频…
总结:SparkSQL就是使用sql的方式对以上数据进行处理的技术

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值