sparksql的SQL风格编程

我们前面的文章介绍了DSL风格的编程,现在介绍以下两种编程风格之一的sql风格编程。

sql风格编程简介

sql风格编程就是我们可以通过spark.sql来执行sql语句进行查询,这时的DataFrame就像是一张关系型数据表。返回的是DataFrame。

如果我们想用sql风格的编程,需要先将DataFrame注册成表,注册表的方式有以下3种:

go 复制代码
# 注册临时表
df.createTempView("score")
# 注册临时表,如果存在则替换
df.createOrReplaceTempView("score")
# 注册全局表
df.createGlobalTempview("score")

值得注意的是,全局表是可以跨sparksession对象使用的,在一个程序内,多个sparksession对象都可以使用,临时表只能在当前的sparksession中使用,全局表的查询需带上前缀global_temp.xxx

将dataframe注册成表之后就可以用sql语句来查询了

python 复制代码
spark.sql("SELECT subject, COUNT(*) AS cnt FROM score GROUP BY subject").show()
相关推荐
samLi06206 分钟前
【工具变量】全国省市区县土地出让结果公告数据(2000-2024年)
大数据
chevysky.cn2 小时前
Elasticsearch部署和集成
大数据·elasticsearch·jenkins
青云交4 小时前
Java 大视界 -- Java 大数据在智能医疗远程手术机器人操作数据记录与分析中的应用(342)
java·大数据·数据记录·远程手术机器人·基层医疗·跨院协作·弱网络适配
武子康4 小时前
大数据-38 Redis 分布式缓存 详细介绍 缓存、读写、旁路、穿透模式
大数据·redis·后端
时序数据说4 小时前
时序数据库的存储之道:从数据特性看技术要点
大数据·数据库·物联网·开源·时序数据库·iotdb
bxlj_jcj5 小时前
Flink时间窗口详解
大数据·flink
诗旸的技术记录与分享5 小时前
Flink-1.19.0源码详解-番外补充4-JobGraph图
大数据·flink
落霞的思绪5 小时前
使用云虚拟机搭建hadoop集群环境
大数据·hadoop·分布式