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()
相关推荐
Elastic 中国社区官方博客9 小时前
Elasticsearch:快速近似 ES|QL - 第一部分
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
龙腾AI白云10 小时前
大模型在天文科研中的应用:天体数据分析
大数据·flask·逻辑回归·pygame
快乐非自愿11 小时前
抛弃传统AI:OpenClaw与Skill重构AI生产力,技术范式不可逆
大数据·人工智能
网络研究员11 小时前
Claude身份认证后还是被封?三条稳定防封策略
大数据·人工智能
TuCoder11 小时前
2026年了,景区制作智慧导地图有哪些选择?
大数据
2601_9499251811 小时前
基于 OpenClaw 打造货代行业 AI 智能体架构实战
大数据·人工智能·架构·ai智能体
zhengyquan12 小时前
7000mAh 电池 + 独立 AI 键,小米 18 Pro 是堆料还是突破?
大数据·人工智能
geneculture12 小时前
意识的多学科定义:从16个视域,到融智学统合——基于“意+识”框架且区分“意识≠心智”系统研究
大数据·人工智能·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·意识=意+识·智=信息处理+选择用意
Ai1731639157912 小时前
GB200 NVL72超节点深度解析:架构、生态与产业格局
大数据·服务器·人工智能·神经网络·机器学习·计算机视觉·架构
观远数据12 小时前
跨部门BI推广权限治理指南:如何避免数据泄露与权责混乱
大数据·人工智能·数据分析