Spark SQL - 操作数据帧

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

具体步骤如下:

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

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

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

    • 显示数据帧内容和模式。
    • 对学生数据帧进行投影操作,如显示姓名与年龄字段。
    • 对学生数据帧进行过滤操作,如查询全部女生记录和20岁以上女生记录。
    • 对学生数据帧进行统计操作,如统计总记录数、分组统计男女生总年龄、平均年龄、最大年龄和最小年龄等。
    • 对学生数据帧进行排序操作,如按年龄升序排列、按年龄降序排列、先按性别升序排列再按年龄降序排列等。
相关推荐
得物技术3 小时前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子4 小时前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树8820 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥12320 小时前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
果丁智能1 天前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
ApacheSeaTunnel1 天前
实战演示 | 基于 Apache SeaTunnel 与 Apache DolphinScheduler 实现 MySQL 到 Doris 离线定时增量同步
大数据·mysql·开源·doris·数据集成·seatunnel·数据同步
weixin_397574091 天前
PDF复杂表格的1:1还原引擎:跨页表格自动拼接技术实战
大数据·人工智能·pdf
极光代码工作室1 天前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
秋名山码民1 天前
Graph RAG 深度解析:从向量检索到知识推理的技术演进
大数据·人工智能·rag
JLWcai202510091 天前
铸造领域树脂砂轮|金利威多场景解决方案,20 + 配方覆盖全需求
mongodb·zookeeper·eureka·spark·rabbitmq·memcached·storm