spark-SQL数据加载和保存

数据加载与保存

通用方式:

通过 spark.read.load 和 df.write.save 实现数据加载与保存。可利用 format 指定数据格式,如 csv 、 jdbc 等; option 用于设置特定参数,像 jdbc 格式下的数据库连接信息; load 和 save 则分别指定数据路径。保存时还能使用 SaveMode 包含 ErrorIfExists 、 Append 、 Overwrite 、 Ignore 等模式 。

Parquet:

作为默认数据源,Parquet是列式存储格式,适合存储嵌套数据。加载和保存数据时,若为Parquet文件,无需指定 format ,按默认方式操作即可。

JSON:

Spark SQL可自动推测JSON数据集结构,加载为 DatasetRow 。但要求JSON文件每行是一个JSON串,通过 spark.read.json() 加载 。

CSV:

读取CSV文件时,可配置列表信息,如设置分隔符、推断数据类型、指定表头,使用 format("csv") 结合 option 设置相关参数。

- MySQL:

借助JDBC,Spark SQL能从MySQL读取数据创建 DataFrame ,计算后也可写回。操作前需导入 mysql-connector-java 依赖,按特定语法编写代码实现数据读写。

代码案例

导入依赖

Spark-SQL连接Hive

内嵌Hive:

使用Spark内嵌Hive无需额外配置,可直接使用,但实际生产中较少采用。

外部Hive:

在spark-shell中连接外部Hive,需将 hive-site.xml 拷贝到 conf/ 目录并修改连接地址,把MySQL驱动复制到 jars/ 目录,拷贝 core-site.xml 和 hdfs-site.xml 到 conf/ 目录,最后重启 spark-shell 。- Spark beeline:Spark Thrift Server兼容HiveServer2,部署后可用beeline访问。连接步骤与连接外部Hive类似,需配置相关文件并启动Thrift Server,再用 beeline -u jdbc:hive2://node01:10000 -n root 连接 。- Spark-SQL CLI:在Spark目录下,将MySQL驱动放入 jars/ , hive-site.xml 放入 conf/ ,运行 bin/ 目录下的 spark-sql.cmd 即可启动,能直接执行SQL语句。

代码操作Hive:

先导入 spark-hive_2.12 和 hive-exec依赖,将hive-site.xml拷贝到resources目录中,在代码中启用hive支持

代码案例

导入依赖

相关推荐
木圭的AI时代指南9 小时前
Spark-X2.5 长输入 Agent 实测:全量读取陷阱与解释器寻找死循环复盘,附可复现任务
大数据·分布式·spark
Q264336502317 小时前
【有源码】基于机器学习的电信网络诈骗话术语义识别与可视化分析系统 XGBoost算法+Hadoop+Spark
大数据·hadoop·算法·机器学习·spark·毕业设计·课程设计
Q264336502318 小时前
【有源码】基于 Hadoop 的强化学习智能体轨迹数据挖掘与可视化分析系统大数据毕设项目
大数据·hadoop·机器学习·数据挖掘·spark·课程设计·数据可视化
Q264336502321 小时前
【有源码】基于大数据的药品多维度属性分析可视化系统 基于Spark的药品属性聚类与关联规则可视化分析系统
hadoop·机器学习·数据挖掘·spark·毕业设计·课程设计·大数据项目
Q264336502321 小时前
【有源码】基于大数据的零售交易者行为特征与生存状况数据分析及可视化 Hadoop+Spark大数据项目
大数据·hadoop·信息可视化·数据挖掘·数据分析·spark·毕业设计
Q26433650231 天前
【有源码】基于 Hadoop 生态的化妆品销售数据存储分析与可视化 面向化妆品行业的用户画像构建与销售机会识别研究
大数据·hadoop·python·机器学习·spark·毕业设计·课程设计
计算机源码社2 天前
基于Hadoop+Spark的黄金市场历史数据特征分析与可视化大屏 基于K-Means聚类算法的黄金历史价格阶段划分研究
大数据·hadoop·python·数据挖掘·数据分析·spark·毕业设计
AIsocial3 天前
Spark Ads怎么用?自然流量测试内容,再用付费流量放大
spark·tiktok
IT毕设梦工厂4 天前
计算机毕业设计选题推荐:基于大数据的印度上市公司财务指标数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·信息可视化·spark·课程设计·大数据毕设项目
BYSJMG4 天前
计算机毕业设计选题推荐:基于大数据的水质多指标关联分析与可视化的设计与实现,Spark 加 K-Means 做水质分群
大数据·hadoop·信息可视化·数据分析·spark·kmeans·课程设计