Spark 教程

Spark SQL

Spark 笔记

Spark MLlib

pyspark 如何连接 mysql 进行读写操作

Spark 笔记 Spark 笔记


大数据处理中,一般会要用到 spark 来进行大量离线计算后,对 mysql 进行读写操作,读操作可能在计算之前;这里列出 python 的 spark client 模块 pyspark 来对 mysql 进行连接操作。

推荐方式

from pyspark.sql import SparkSession
from pyspark.sql import SQLContext

SparkSession.builder.config('spark.driver.extraClassPath',
                            '/xxx/xxx/.m2/repository/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar')
spark = SparkSession.builder.appName('demo').getOrCreate()
sqlContext = SQLContext(spark.sparkContext)
df = sqlContext.read.format("jdbc").options(
    url="jdbc:mysql://localhost:3306/my_db",
    driver="com.mysql.jdbc.Driver",
    dbtable="my_table",
    user="root",
    password="").load()
df.show()

这里举例了,本地运行的示例,如果在线上环境完备的分布式中运行,可以去掉 spark.driver.extraClassPath 配置。