pyspark编成实现通过dataframe读写MySQL数据
要使用pyspark读写MySQL数据,需要先通过JDBC驱动程序连接到数据库。以下是通过dataframe读写MySQL数据的示例代码:
- 导入必要的库
from pyspark.sql import SparkSession
from pyspark.sql import DataFrame
from pyspark.sql import SQLContext
- 创建SparkSession对象
spark = SparkSession.builder \
.appName("MySQL to DataFrame") \
.config("spark.jars", "/path/to/mysql-connector-java.jar") \
.getOrCreate()
在这里,我们指定了MySQL JDBC驱动程序的路径,并创建了一个SparkSession对象。
- 创建SQLContext对象
sqlContext = SQLContext(spark)
- 连接到MySQL数据库
url = "jdbc:mysql://localhost:3306/test"
properties = {
"user": "root",
"password": "password",
"driver": "com.mysql.jdbc.Driver"
}
在这里,我们指定了数据库的URL、用户名、密码和JDBC驱动程序的类名。
- 读取数据
df = sqlContext.read.jdbc(url=url, table='table_name', properties=properties)
在这里,我们使用read.jdbc()方法从MySQL表中读取数据,并将其存储在一个DataFrame对象中。
- 写入数据
df.write.jdbc(url=url, table='table_name', mode='overwrite', properties=properties)
在这里,我们使用write.jdbc()方法将DataFrame对象中的数据写入到MySQL表中。
完整的代码如下:
from pyspark.sql import SparkSession
from pyspark.sql import SQLContext
spark = SparkSession.builder \
.appName("MySQL to DataFrame") \
.config("spark.jars", "/path/to/mysql-connector-java.jar") \
.getOrCreate()
sqlContext = SQLContext(spark)
url = "jdbc:mysql://localhost:3306/test"
properties = {
"user": "root",
"password": "password",
"driver": "com.mysql.jdbc.Driver"
}
# 读取数据
df = sqlContext.read.jdbc(url=url, table='table_name', properties=properties)
# 写入数据
df.write.jdbc(url=url, table='table_name', mode='overwrite', properties=properties)
请注意,需要替换实际的数据库URL、用户名、密码、表名和JDBC驱动程序的路径
原文地址: https://www.cveoy.top/t/topic/eCpL 著作权归作者所有。请勿转载和采集!