簡體   English   中英

Pyspark:使用Python從Spark 2.4連接到MS SQL Server 2017時沒有合適的驅動程序錯誤

[英]Pyspark: No suitable Driver error while connecting to MS SQL Server 2017 from Spark 2.4 using Python

我在使用python即pyspark運行spark作業時遇到問題。 請參見下面的代碼段

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設置為spark中的默認python,即當我啟動pyspark時,默認python是3.6。

只需提一下,系統默認的python是Python 2.7。 我正在使用centOS 7。

這是怎么了? 有人可以幫忙嗎?

好的,因此經過長時間搜索,似乎火花不能與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,但是,我遇到了單獨的問題。 簡而言之,我無法像之前那樣運行spark作業。

暫無
暫無

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

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