Spark SQL - 操作数据帧

本教程将通过一个具体的案例来演示如何在Spark SQL中操作数据帧。我们将从获取学生数据帧开始,包括两种方法:一是由数据集转换而来,二是直接读取文件生成数据帧。然后,我们将对数据帧进行各种操作,如投影、过滤、统计和排序等。

具体步骤如下:

  1. 由数据集转换而来的方法

    • 前提是添加了元数据的数据集。
    • 调用数据集的toDF()方法得到数据帧。
    • 查看数据帧的结构和内容。
  2. 直接读取文件生成数据帧的方法

    • 利用spark.read成员的option().csv()方法读取文本文件生成数据帧。
    • 查看学生数据帧的内容。
    • 因为学生文件第一行不是表头,所以生成的数据帧字段名是系统自动生成的。
    • 修改学生数据帧默认字段名。
    • 查看学生数据帧的内容和结构。
    • 修改数据帧字段类型。
    • 数据帧改名。
  3. 操作学生数据帧

    • 显示数据帧内容和模式。
    • 对学生数据帧进行投影操作,如显示姓名与年龄字段。
    • 对学生数据帧进行过滤操作,如查询全部女生记录和20岁以上女生记录。
    • 对学生数据帧进行统计操作,如统计总记录数、分组统计男女生总年龄、平均年龄、最大年龄和最小年龄等。
    • 对学生数据帧进行排序操作,如按年龄升序排列、按年龄降序排列、先按性别升序排列再按年龄降序排列等。
相关推荐
喵个咪8 小时前
Go Wind UBA 拆解系列 - 架构总览:三服务、数据流与契约优先
大数据·后端·go
喵个咪8 小时前
Go Wind UBA 拆解系列 - 多租户与安全:两套隔离机制的边界
大数据·后端·go
喵个咪8 小时前
Go Wind UBA 拆解系列 - OLAP 与 SQL 硬核:25 个分析模型怎么落地
大数据·后端·go
喵个咪8 小时前
Go Wind UBA 拆解系列 - SDK 与采集层:从浏览器到 Kafka
大数据·后端·go
QCC产品中心12 小时前
MiniMax Agent 接入实测:企业查询、股权穿透与 UBO 识别(附 Prompt 模板)
大数据·mcp·金融/非金融
SelectDB1 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
ApacheSeaTunnel1 天前
当多表数据涌入,Apache SeaTunnel 如何巧妙化解主键冲突?
大数据·开源·数据集成·seatunnel·技术分享·数据同步
大大大大晴天4 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
手可摘星辰7775 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天5 天前
Hudi技术内幕:Metadata Table原理与实践
大数据