必看的Spark SQL入门教程

 

一个12分良心的Spark SQL入门教程

 

Spark SQL 是 Spark 的一个结构化数据处理模块,提供了一个 DataFrame 的抽象模型,在 Spark 1.6.0之后,又加入了 DataSet 的抽象模型,因此它是一个分布式 SQL 查询引擎,Spark SQL 主要由 Catalyst 优化,Spark SQL 内核,Hive 支持三部分组成。

一个12分良心的Spark SQL入门教程

 

 

一个12分良心的Spark SQL入门教程

 

 

Spark SQL的架构是什么样的?

如上所示,虽然有点复杂,但是并不影响我们的学习,下面简单概述一下其架构原理:

  1. 使用 SqlParser 对 SQL 语句进行解析,生成 Unresolved 逻辑计划(没有提取 schema 信息)。
  2. 使用 Catalyst 分析器,结合数据字典(catalog)进行绑定,生成Analyzed逻辑计划,在此过程中,Schema Catalog 则要提取 schema 信息。
  3. 使用 Catalyst 优化器对 Analyzed 逻辑计划进行优化,按照优化规则得到 Optimized 逻辑计划。
  4. 接着和 Spark Planner 交互,使用相应的策略将逻辑计划转换为物理计划,然后调用 next 函数,生成可执行物理计划。
  5. 调用 toDF,最后生成 DataFrame。

 

Spark SQL有哪些优点?

  1. 兼容多种数据格式,如上面所说的parquet文件,HIve表,JSON文件等等。
  2. 方便扩展,它的优化器,解析器都可以重新定义。
  3. 性能优化方面:采用了内存列式存储,动态字节码生成等技术,还采用了内存缓存数据。
  4. 支持多种语言操作,包括java,scala,python,R语言等。

 

本教程主要从入门讲解 Spark SQL 的使用,最后通过实战案例来巩固之前所学的知识,达到深入浅出,融会贯通的教学目标。对于 Hive 会从入门带大家学习,SpringBoot 框架也会教大家搭建,在最后,会通过讲解NLP基础知识,并且使用实战案例对影评信息进行情感分析。

通过本教程的学习,你将收货如下知识点:

  1. Spark Core 编程
  2. Hive 基础知识
  3. Mysql 的读写
  4. SpringBoot 框架的使用
  5. 可视化工具 Echarts 和 d3-Cloud
  6. 数据挖掘基础
  7. NLP 中文分词

对于了解Java或者Scala等知识的同学,基本可以无障碍学习本教程了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值