pyspark对Mysql数据库进行读写的实现
发布日期:2025-01-04 15:19 点击次数:170
pyspark是Spark对Python的api接口,可以在Python环境中通过调用pyspark模块来操作spark,完成大数据框架下的数据分析与挖掘。其中,数据的读写是基础操作,pyspark的子模块pyspark.sql 可以完成大部分类型的数据读写。文本介绍在pyspark中读写Mysql数据库。
1 软件版本
在Python中使用Spark,需要安装配置Spark,这里跳过配置的过程,给出运行环境和相关程序版本信息。
win10 64bit
java 13.0.1
spark 3.0
python 3.8
pyspark 3.0
pycharm 2019.3.4
2 环境配置
pyspark连接Mysql是通过java实现的,所以需要下载连接Mysql的jar包。
下载地址
选择下载Connector/J,然后选择操作系统为Platform Independent,下载压缩包到本地。
然后解压文件,将其中的jar包mysql-connector-java-8.0.19.jar放入spark的安装目录下,例如D:\spark\spark-3.0.0-preview2-bin-hadoop2.7\jars。
环境配置完成!
3 读取Mysql
脚本如下:
注意点:
prop参数需要根据实际情况修改,文中用户名和密码用xxx代替了,driver参数也可以不需要;
url参数需要根据实际情况修改,格式为jdbc:mysql://主机:端口/数据库;
通过调用方法read.jdbc进行读取,返回的数据类型为spark DataFrame;
运行脚本,输出如下:
4 写入Mysql
脚本如下:
注意点:
prop和url参数同样需要根据实际情况修改;
写入数据库要求的对象类型是spark DataFrame,提供了三种常见数据类型转spark DataFrame的方法;
通过调用write.jdbc方法进行写入,其中的model参数控制写入数据的行为。
model
参数解释
error
默认值,原表存在则报错
ignore
原表存在,不报错且不写入数据
append
新数据在原表行末追加
overwrite
覆盖原表
5 常见报错
Access denied for user …
原因:mysql配置参数出错
解决办法:检查user,password拼写,检查账号密码是否正确,用其他工具测试mysql是否能正常连接,做对比检查。
No suitable driver
原因:没有配置运行环境
解决办法:下载jar包进行配置,具体过程参考本文的2 环境配置。
到此这篇关于pyspark对Mysql数据库进行读写的实现的文章就介绍到这了,更多相关pyspark Mysql读写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!