Spark系列之(三)——SparkSQL

1.快速入门

1.1 什么是SparkSQL

在这里插入图片描述

1.2 为什么要学习SparkSQL

在这里插入图片描述

1.3 SparkSQL特点

在这里插入图片描述

2.SparkSQL概述

2.1 SparkSQL和Hive的异同

在这里插入图片描述

2.2 SparkSQL的数据抽象

在这里插入图片描述
在这里插入图片描述

2.3 DataFrame数据抽象

在这里插入图片描述
在这里插入图片描述

2.4 SparkSession对象

在这里插入图片描述
在这里插入图片描述

2.5 SparkSQL helloworld

在这里插入图片描述

3.DataFrame入门和操作

3.1 DataFrame的组成

在这里插入图片描述
在这里插入图片描述

3.2 DataFrame的代码构建

  • 基于RDD方式
    在这里插入图片描述

  • 通过structType描述表结构
    在这里插入图片描述

  • toDF方法
    在这里插入图片描述

  • 基于pandas的DataFrame
    在这里插入图片描述

  • 通过API读取外部数据
    在这里插入图片描述
    在这里插入图片描述

  • 基于json
    在这里插入图片描述
    在这里插入图片描述

  • 基于CSV
    在这里插入图片描述
    在这里插入图片描述

  • 读取parquet

  • 在这里插入图片描述
    在这里插入图片描述

3.3 DataFrame的入门操作

在这里插入图片描述

  • DSL风格
    在这里插入图片描述
    在这里插入图片描述

  • SQL风格
    在这里插入图片描述
    在这里插入图片描述

3.4 词频统计案例

在这里插入图片描述
words.txt内容:

hello hadoop
hello spark
hello flink
hadoop spark

在这里插入图片描述

3.5 电影数据分析

在这里插入图片描述
数据内容:
在这里插入图片描述
在这里插入图片描述

  • 需求1:
    在这里插入图片描述
  • 需求2
    在这里插入图片描述
  • 需求3
    在这里插入图片描述
  • 需求4
    在这里插入图片描述
  • 需求5
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.6 SparkSQL Shuffle 分区数目

在这里插入图片描述

3.7 SparkSQL 数据清洗API

  • 去重方法 dropDuplicates
    在这里插入图片描述
  • 缺失值处理
  • 删除
    在这里插入图片描述
  • 填充
    在这里插入图片描述

3.8DataFrame的数据写出

在这里插入图片描述
在这里插入图片描述

3.9 DataFrame通过JDBC读写MYSQL

在这里插入图片描述
在这里插入图片描述

4.SparkSQL函数定义

4.1 SparkSQL定义UDF函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • UDF返回数字型的
    在这里插入图片描述
    在这里插入图片描述
  • 模拟UDTF返回list型的
    在这里插入图片描述
  • 模拟UDTF返回字典型
    在这里插入图片描述
    list和字典相当于模拟UDTF,一对多的关系。
  • 模拟UDAF,多对一关系
    在这里插入图片描述

4.2 SparkSQL使用窗口函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.SparkSQL的运行流程

5.1 SparkRDD的执行流程回顾

在这里插入图片描述

5.2 SparkSQL的自动优化

在这里插入图片描述在这里插入图片描述

5.3 Catalyst优化器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4 SparkSQL的执行流程

在这里插入图片描述

6.SparkSQL整合Hive

6.1 原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 配置

在这里插入图片描述
在这里插入图片描述

6.3 在代码中集成

在这里插入图片描述

7.分布式SQL引擎配置

7.1 概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.2 客户端工具连接

Dbeaver

7.3 代码jdbc连接

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值