spark-Sql

本文探讨了Spark SQL中的DataFrame使用,包括通过SparkSession、SQLContext和HiveContext创建DataFrame。核心依然是基于SparkContext和RDD。重点介绍了如何从数据文件创建DataFrame、定义schema、使用agg函数、DataFrame操作以及数据导入数据库。同时,比较了DataFrame与Dataset的异同,强调了Dataset在数据分析报告中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dataframe的两种使用:Api sql

要想使用sql api首先要使用一种sparksession对象来产生dataframe 或者dataset
也可以使用一种叫做sqlcontext产生 sqlcontext的创建需要依赖于sparkcontext
也可以使用hivecontext来产生,必须要在sqlContext基础上来创建

由此可见 我们的底层还是靠sparkContext rdd核心来支持的

SparkSession是集合了(sqlcontext,sparkcontext,hivecontext)
能够直接去做dataframe和dataset

读取data文件
在这里插入图片描述
使用schema转变成dataframe 需要导入sql._
定义三列类型还需要导入sql.type._
根据官网spark方式转换,三部分数据 分为三列,这是间接得到的 定义schema和数据类型
在这里插入图片描述

定义case class toDF
在这里插入图片描述
在这里插入图片描述

agg函数给列起别名
在这里插入图片描述

Dataframe operators (一些操作)
在这里插入图片描述
把数据导入到数据库里
在这里插入图片描述
Dataframe是dataset中的一种类型, 就是dataset的row类型
在这里插入图片描述
将dataframe转换成dataset 非常简单 通过as就可以了 ,目的就是为了以后方便做数据分析报告
在这里插入图片描述数据非结构化的时候使用rdd 比如客户上网产生的日志
Df vs dataset
相同点:都有优化上的分析,api都是构建在spark引擎之上的
不同点:Dataset[T]是指定泛型的 df是制定row类型的
序列化和反序列化的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值