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()
相关推荐
陕西企来客6 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
hangyuekejiGEO7 小时前
GEO技术服务选型指南
大数据·人工智能·python
阿里云大数据AI技术8 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
风途科技~10 小时前
雷达与压力一体式设计,可同时选用或单独选用—一体式管网液位计灵活配置
大数据·人工智能
大大大大晴天11 小时前
浅析StarRocks 表设计:表类型、分布策略与索引
大数据
APItesterCris11 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
全栈派森14 小时前
告别大表膨胀!MySQL 冷热分离落地全过程(含 CDC 与单行锁抢占实战)
大数据·mysql
LinuxGeek102415 小时前
Kylin-Server-V11、openEuler-22.03和openEuler-24.03适配原生rpm的MySQL 8.4.11版本正式发布
大数据·mysql·kylin
2601_9625029015 小时前
点胶点钻机运动控制与视觉定位系统解析:精度、算法与工程实现
大数据·架构
阿部多瑞 ABU16 小时前
正反馈的死亡螺旋:数字资本时代泛二次元文化-情感-金融复合体的系统性分析
大数据·人工智能·金融