我正在尝试从python应用程序加载MySQL JDBC驱动程序。我没有调用“ bin / pyspark”或“ spark-submit”程序;相反,我有一个Python脚本,在其中初始化“ SparkContext”和“ SparkSession”对象。 我了解我们可以在调用“ pyspark”时传递“ --jars”选项,但是如何在我的python应用程序中加载并指定jdbc驱动程序?
答案 0 :(得分:1)
我认为你想做这样的事情
from pyspark.sql import SparkSession
# Creates spark session with JDBC JAR
spark = SparkSession.builder \
.appName('stack_overflow') \
.config('spark.jars', '/path/to/mysql/jdbc/connector') \
.getOrCreate()
# Creates your DataFrame with spark session with JDBC
df = spark.createDataFrame([
(1, 'Hello'),
(2, 'World!')
], ['Index', 'Value'])
df.write.jdbc('jdbc:mysql://host:3306/my_db', 'my_table',
mode='overwrite',
properties={'user': 'db_user', 'password': 'db_pass'})
答案 1 :(得分:0)
答案是像这样创建SparkContext:
spark_conf = SparkConf().set("spark.jars", "/my/path/mysql_jdbc_driver.jar")
sc = SparkContext(conf=spark_conf)
这会将mysql驱动程序加载到类路径中。