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()
相关推荐
大大大大晴天1 小时前
从 HDFS 到对象存储:计算存储分离如何重塑云原生大数据底座
大数据
用户36105886261210 小时前
SparkStreaming 之 updateStateByKey 算子详解及代码实现
大数据·spark
咖啡屋和酒吧11 小时前
“隐性肩颈紧张”正在透支精力|没有酸痛,不代表肩颈处于健康状态
大数据·精选
港股研究社12 小时前
专注履约底座,顺丰同城在即时零售效率时代提升增长动能
大数据·人工智能
AI_yangxi14 小时前
短视频矩阵系统选哪家
大数据·人工智能·矩阵
lupai1 天前
手机在网状态接口实测效果与质量评估
大数据·python·智能手机·api接口
大模型丫丫1 天前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器
大大大大晴天1 天前
每天认识一个组件:SQL网关Apache Kyuubi
大数据
2601_962218471 天前
万象生鲜系统冷链物联网接入技术实现生鲜企业温控管理数字化
大数据·运维·微服务·云原生·架构
2601_962074811 天前
大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
大数据·数据库·mysql