SparkSQL 初体验_Dataset 和 DataFrame | 学习笔记

简介: 快速学习 SparkSQL 初体验_Dataset 和 DataFrame

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段SparkSQL 初体验_Dataset 和 DataFrame】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/690/detail/12037


SparkSQL 初体验_Dataset 和 DataFrame

 

内容介绍:

一、SparkSession

二、Dataset 和 DataFrame

 

一、SparkSession

l 因为老的 Spark Context 已经不太适用于 Spark SQL

l Spark SQL需要读取更多的数据源,更多数据源的写入

l 应该支持老的 Context

l 支持更多数据源,创建一整套读写的体系

 

二、Dataset 和 DataFrame

在之前案例中,还说了一个概念,叫做 DS,我们一直在说 DS Dataset,但是,什么是 Dataset,什么是 DataFrame,这是我们接下来一小节的内容。通过了解 Dataset 和 DataFrame,大家就能对整个 spark SQL 的体系有一个比较直观的一个印象。

进入到 idea 当中。刚才我们说的是 SparkSession,接下来我们要说的是 personDS,可以加上它的类型,它的类型就是 Dataset,只不过这个 Dataset 当中,他的幻想是一个 person,接下来,我们进入到笔记当中来说这个 Dataset。

首先,我们在 RDD 中存储一个 person 对象,他会把这个 person 对象当成一整个对象来使用。

image.png

比如说,我拿到 RDD 的来进行 map 的时候,然后再进行 map 的时候,是不是只能拿到这个 item 拿到一整个 item 来进行相应的这个操作,但是,对于 DateFrame 和 Dataset 来说,他就能干这样的事儿,比如说,叫做 DSmap,那在这个 map 中,我们是不是可以直接读这个 person 当中的某一个列。

如果是这样的话,他们最大的区别是什么?最大的区别就是 RDD 当中并不知道你这个 item 是什么,只会序列化一下,然后再给你对象。那对于 Dataset 来说,它是明确的,知道你这个对象里面都有什么,比如说,对于 DateFrame 来说,它是有一个 steamer 信息的,他会把整个数据集划分为不同的列和不同的行,知道有多少个列,也知道哪个列应该存放什么类型的数据,这就是我们所说的 DateFrame 的最大特点。

以及他们 API 上也会有很大的这个特点。所以 Spark SQL 的命令是操作相相比于这个 RDD 来说,可以通过 schema 信息直接访问其中的某一列信息,所以,我们要有一个单独的视频来去彰显这一节的重要性,我们整个 spark SQL 研究的是什么?

就是 data set 和 dataframe,我们暂时没有用到,接下来,再去说 data frame。

相关文章
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
机器学习/深度学习 PyTorch 编译器
Pytorch的编译新特性TorchDynamo的工作原理和使用示例
PyTorch的TorchDynamo是一个即时编译器,用于优化动态图执行,提高运行效率。它在运行时分析和转换代码,应用优化技术,如操作符融合,然后编译成高效机器码。通过一个包含特征工程、超参数调整、交叉验证的合成数据集示例,展示了TorchDynamo如何减少训练时间并提高模型性能。它易于集成,只需对现有PyTorch代码进行小改动,即可利用其性能提升。TorchDynamo的优化包括动态捕获计算图、应用优化和编译,适用于实时应用和需要快速响应的场景。
272 11
|
数据采集 API 索引
异步任务处理系统问题之异步任务处理系统的问题如何解决
异步任务处理系统问题之异步任务处理系统的问题如何解决
325 2
|
小程序 JavaScript Java
基于微信小程序便捷记账系统设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序便捷记账系统设计与实现(源码+lw+部署文档+讲解等)
420 8
免费开源 GIF 录屏制作软件 | ScreenToGif的安装及使用说明
免费开源 GIF 录屏制作软件 | ScreenToGif的安装及使用说明
770 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的党建信息管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的党建信息管理系统附带文章源码部署视频讲解等
127 1
|
消息中间件 Shell Linux
RabbitMQ部署指南
主要是如何部署RabbitMQ的具体步骤
|
消息中间件 存储 NoSQL
【RabbitMQ教程】第六章 —— RabbitMQ - 延迟队列(下)
【RabbitMQ教程】第六章 —— RabbitMQ - 延迟队列(下)
233 0
|
SQL 消息中间件 分布式计算
基于数据湖格式构建流式增量数仓—CDC
该文章内容源于 Apache Con ASIA 2022上的分享,整理归纳成文章。
15444 5
基于数据湖格式构建流式增量数仓—CDC
|
人工智能 前端开发 算法
安信可VC系列语音识别的使用教程
安信可VC系列语音识别的使用教程
安信可VC系列语音识别的使用教程