Pyspark: нет подходящей ошибки драйвера при подключении к MS SQL Server 2017 из Spark 2.4 с использованием Python - PullRequest
0 голосов
/ 09 июля 2019

Я сталкиваюсь с проблемой при запуске задания на работу с использованием python, т.е. pyspark. Пожалуйста, смотрите ниже фрагменты кода

from pyspark.sql import SparkSession
from os.path import abspath
from pyspark.sql.functions import max,min,sum,col
from pyspark.sql import functions as F
spark = SparkSession.builder.appName("test").config("spark.driver.extraClassPath", "/usr/dt/mssql-jdbc-6.4.0.jre8.jar").getOrCreate()
spark.conf.set("spark.sql.execution.arrow.enabled", "true")
spark.conf.set("spark.sql.session.timeZone", "Etc/UTC")
warehouse_loc = abspath('spark-warehouse')

#loading data from MS SQL Server 2017
df = spark.read.format("jdbc").options(url="jdbc:sqlserver://10.90.3.22;DATABASE=TransTrak_V_1.0;user=sa;password=m2m@ipcl1234",properties = { "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver" },dbtable="Current_Voltage").load()

Когда я запускаю этот код, я сталкиваюсь со следующей ошибкой:

py4j.protocol.Py4JJavaError: An error occurred while calling o38.load.
: java.sql.SQLException: No suitable driver

Тот же код, который раньше работал нормально . Однако по ряду причин мне пришлось заново установить CentOS 7, а затем Python 3.6. Я установил python 3.6 в качестве Python по умолчанию в Spark, то есть когда я запускаю pyspark, Python по умолчанию равен 3.6.

Просто отметим, что системным по умолчанию python является Python 2.7. Я использую CentOS 7.

Что здесь не так? Кто-нибудь может помочь с этим?

1 Ответ

0 голосов
/ 15 июля 2019

Хорошо, поэтому после длительного поиска, похоже, что спарк не работает должным образом с openjdk, то есть java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64.Когда я вижу Java по умолчанию, я вижу это следующим образом

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

Затем я попытался установить Oracle JDK 8 с официального сайта, однако затем я столкнулся с отдельными проблемами.Таким образом, в двух словах, я не могу запускать спарк-работы, как раньше.

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