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)流程中数据的读取和存储、数据分析中从多种数据源获取数据等。未来在处理海量结构化数据时,能运用所学优化数据处理流程,提高处理效率。

相关推荐
£菜鸟也有梦42 分钟前
从0到1,带你走进Flink的世界
大数据·hadoop·flink·spark
小伍_Five14 小时前
Spark实战能力测评模拟题精析【模拟考】
java·大数据·spark·scala·intellij-idea
不吃饭的猪14 小时前
记一次运行spark报错
大数据·分布式·spark
qq_4639448614 小时前
【Spark征服之路-2.1-安装部署Spark(一)】
大数据·分布式·spark
后端码匠19 小时前
Kafka 单机部署启动教程(适用于 Spark + Hadoop 环境)
hadoop·spark·kafka
技术吧3 天前
Spark-TTS: AI语音合成的“变声大师“
大数据·人工智能·spark
MyikJ6 天前
Java互联网大厂面试:从Spring Boot到Kafka的技术深度探索
java·spring boot·微服务·面试·spark·kafka·spring security
向哆哆6 天前
Java 大数据处理:使用 Hadoop 和 Spark 进行大规模数据处理
java·hadoop·spark
阿里云大数据AI技术6 天前
Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速
大数据·人工智能·阿里云·spark·serverless·云计算
Matrix706 天前
大数据量下的数据修复与回写Spark on Hive 的大数据量主键冲突排查:COUNT(DISTINCT) 的陷阱
大数据·hive·spark