簡體   English   中英

使用Python腳本中的'jdbc'為Spark DataFrame'write'加載JDBC驅動程序

[英]Load JDBC driver for Spark DataFrame 'write' using 'jdbc' in Python Script

我正在嘗試從python應用程序加載MySQL JDBC驅動程序。 我沒有調用“ bin / pyspark”或“ spark-submit”程序; 相反,我有一個Python腳本,在其中初始化“ SparkContext”和“ SparkSession”對象。 我了解我們可以在調用“ pyspark”時傳遞“ --jars”選項,但是如何在我的python應用程序中加載和指定jdbc驅動程序?

我想你想做這樣的事情

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'})

答案是像這樣創建SparkContext:

spark_conf = SparkConf().set("spark.jars",  "/my/path/mysql_jdbc_driver.jar")
sc = SparkContext(conf=spark_conf)

這會將mysql驅動程序加載到類路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM