spark-SQL核心编程课后总结

通用加载与保存方式

加载数据:Spark-SQL的 spark.read.load 是通用加载方法,借助 format 指定数据格式,如 csv 、 jdbc 、 json 等; load 用于指定数据路径; option 在 jdbc 格式时传入数据库连接参数。此外,还能直接在文件上利用 spark.sql 进行查询,简化了数据读取流程。

保存数据: df.write.save 是通用保存方法,同样用 format 指定格式, save 确定保存路径, option 设置 jdbc 参数 。通过 mode 可选择 SaveMode ,如 ErrorIfExists (默认,文件存在时抛异常)、 Append (追加)、 Overwrite (覆盖)、 Ignore (忽略),灵活处理数据保存场景。

特定格式数据操作

Parquet格式:作为Spark-SQL默认数据源,Parquet以列式存储嵌套数据,高效且方便。加载时直接使用 spark.read.load 指定文件路径;保存时,若要更改默认数据源格式,可修改 spark.sql.sources.default 配置项。

JSON格式:Spark-SQL能自动推断JSON数据集结构并加载为 Dataset[Row] 。需注意,读取的JSON文件每行应为独立JSON串。加载后可创建临时表,方便使用SQL语句查询数据。

CSV格式:读取CSV文件时,可通过 format("csv") 结合 option 配置,如设置分隔符 sep 、自动推断数据类型 inferSchema 、指定首行为表头 header ,实现灵活的数据读取。

MySQL操作:借助JDBC,Spark-SQL可与MySQL交互。首先要导入 mysql-connector-java 依赖,读取数据有多种方式,如使用 format("jdbc") 结合 option 设置连接参数,或通过 Properties 对象传递参数。写入数据时,先将数据转换为 Dataset ,再配置连接参数和保存模式写入MySQL。

学习收获与应用展望

知识技能提升:系统学习了Spark-SQL数据加载与保存的多种方式,掌握了不同数据格式的特点和处理技巧,理解了JDBC在数据库交互中的应用,提升了数据处理编程能力。

应用场景拓展:这些技能在大数据处理场景中应用广泛,如ETL(Extract, Transform, Load)流程中数据的读取和存储、数据分析中从多种数据源获取数据等。未来在处理海量结构化数据时,能运用所学优化数据处理流程,提高处理效率。

相关推荐
鹏说大数据3 小时前
Spark 和 Hive 的关系与区别
大数据·hive·spark
B站计算机毕业设计超人3 小时前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人3 小时前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
Lansonli9 小时前
大数据Spark(八十):Action行动算子fold和aggregate使用案例
大数据·分布式·spark
鸿乃江边鸟1 天前
Spark Datafusion Comet 向量化Rust Native--CometShuffleExchangeExec怎么控制读写
大数据·rust·spark·native
伟大的大威2 天前
NVIDIA DGX Spark (ARM64/Blackwell) Kubernetes 集群 + GPU Operator 完整部署指南
大数据·spark·kubernetes
小邓睡不饱耶2 天前
深度实战:Spark GraphX构建用户信任网络,精准锁定高价值目标用户(含完整案例)
大数据·spark·php
B站计算机毕业设计超人2 天前
计算机毕业设计hadoop+spark+hive共享单车预测系统 共享单车数据可视化分析 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·python·深度学习·spark·毕业设计·课程设计
B站计算机毕业设计超人2 天前
计算机毕业设计Python+Spark+Hadoop+Hive微博舆情分析 微博情感分析可视化 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·python·spark·cnn·课程设计
yumgpkpm2 天前
华为昇腾300T A2训练、微调Qwen过程,带保姆式命令,麒麟操作系统+鲲鹏CPU
hive·hadoop·华为·flink·spark·kafka·hbase