Spark SQL - 操作数据帧

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

具体步骤如下:

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

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

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

    • 显示数据帧内容和模式。
    • 对学生数据帧进行投影操作,如显示姓名与年龄字段。
    • 对学生数据帧进行过滤操作,如查询全部女生记录和20岁以上女生记录。
    • 对学生数据帧进行统计操作,如统计总记录数、分组统计男女生总年龄、平均年龄、最大年龄和最小年龄等。
    • 对学生数据帧进行排序操作,如按年龄升序排列、按年龄降序排列、先按性别升序排列再按年龄降序排列等。
相关推荐
liana874410 分钟前
即时通讯IM:从聊天工具到企业数字底座
大数据
WL_Aurora23 分钟前
Hadoop HA高可用架构深度解析
大数据·hadoop·架构
清平乐的技术专栏24 分钟前
【Flink学习】(六)Flink 三大时间语义 + 水位线 Watermark
大数据·学习·flink
清平乐的技术专栏25 分钟前
【Flink学习】(一)初识 Flink,大数据实时计算核心认知
大数据·flink
武子康27 分钟前
Java-221 RocketMQ 消息存储核心原理:CommitLog、ConsumerQueue、IndexFile 与消息过滤机制
java·大数据·分布式·消息队列·rabbitmq·rocketmq·java-rocketmq
2601_9594779130 分钟前
Vatee:数字化能力升级的全面观察
大数据·人工智能
赴山海bi34 分钟前
DeepBI赋能:家居类亚马逊Listing优化全攻略
大数据·人工智能
qq_3660327835 分钟前
Claude API中转怎么选?简易api下的国内接入与兼容 OpenAI 接口实践
大数据·运维·人工智能
SAP上海工博云署1 小时前
汽配出海业务扩张难题拆解:SAP Business One 适配跨境制造管理
大数据·人工智能·云计算·制造·信息与通信·零售