Загрузите драйвер JDBC для записи в Spark DataFrame, используя jdbc в скрипте Python - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь загрузить драйвер MySQL JDBC из приложения python.Я не вызываю программу «bin / pyspark» или «spark-submit»;вместо этого у меня есть скрипт Python, в котором я инициализирую объекты «SparkContext» и «SparkSession».Я понимаю, что мы можем передать опцию --jars при вызове pyspark, но как мне загрузить и указать драйвер jdbc в моем приложении на python?

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Я думаю, вы хотите сделать что-то вроде этого

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'})
0 голосов
/ 04 июня 2019

Ответ - создать SparkContext следующим образом:

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

Это загрузит драйвер mysql в classpath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...