jdbcUsername = * * * * * * * * jdbcPassword = * * * * * * * * * * * * * * * server_name = " jdbc::狀態"置疑" / / * * * * * * * * * * *:* * * * * *”database_name =“* * * * * * * *”url = server_name +”;“+ "databaseName=" + database_name + ";" table_name = "PatientTEST" try: df.write \ .format("com.microsoft.sqlserver.jdbc.spark") \ .mode("overwrite") \ .option("url", url) \ .option("dbtable", table_name) \ .option("user", jdbcUsername) \ .option("password", jdbcPassword) \ .save() except ValueError as error : print("Connector write failed", error)
java.lang.ClassNotFoundException:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Py4JJavaError回溯(最近調用最後)
模塊在< <命令- 1025811192119468 > >
10
11個試題:
推薦- - - - - - > 12 df。寫\
13 .format \ (“com.microsoft.sqlserver.jdbc.spark”)
14 .mode \(“追加”)
/磚/火花/ python / pyspark / sql /讀寫。py保存(自我、路徑、格式、模式、partitionBy、* *選項)
736 self.format(格式)
737如果路徑是:
- - > 738年self._jwrite.save ()
739年:
740 self._jwrite.save(路徑)
/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j / java_gateway。py __call__(自我,* args)
1302年
1303年的答案= self.gateway_client.send_command(命令)
- > 1304 return_value = get_return_value (
1305年的答案,自我。gateway_client,自我。target_id self.name)
1306年
/磚/火花/ python / pyspark / sql /跑龍套。py在德科(*,* *千瓦)
115年def德科(*,* *千瓦):
116年試題:
- - > 117返回f(*, * *千瓦)
118年py4j.protocol除外。Py4JJavaError e:
119 = convert_exception轉換(e.java_exception)
/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j /協議。py get_return_value(答案,gateway_client target_id,名稱)
324值= OUTPUT_CONVERTER[型](回答[2],gateway_client)
325如果[1]= = REFERENCE_TYPE回答:
- - > 326提高Py4JJavaError (
327”時發生一個錯誤調用{0}{1}{2}。\ n”。
328格式(target_id”。“名字),值)
Py4JJavaError:調用o386.save時發生一個錯誤。
:java.lang.ClassNotFoundException:
沒有找到數據來源:com.microsoft.sqlserver.jdbc.spark。請找到包
http://spark.apache.org/third-party-projects.html
org.apache.spark.sql.errors.QueryExecutionErrors .failedToFindDataSourceError美元(QueryExecutionErrors.scala: 511)
org.apache.spark.sql.execution.datasources.DataSource .lookupDataSource美元(DataSource.scala: 747)
org.apache.spark.sql.execution.datasources.DataSource .lookupDataSourceV2美元(DataSource.scala: 797)
org.apache.spark.sql.DataFrameWriter.lookupV2Provider (DataFrameWriter.scala: 962)
org.apache.spark.sql.DataFrameWriter.saveInternal (DataFrameWriter.scala: 285)
org.apache.spark.sql.DataFrameWriter.save (DataFrameWriter.scala: 257)
在sun.reflect.NativeMethodAccessorImpl。invoke0(本地方法)
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 62)
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)
java.lang.reflect.Method.invoke (Method.java: 498)
py4j.reflection.MethodInvoker.invoke (MethodInvoker.java: 244)
py4j.reflection.ReflectionEngine.invoke (ReflectionEngine.java: 380)
py4j.Gateway.invoke (Gateway.java: 295)
py4j.commands.AbstractCommand.invokeMethod (AbstractCommand.java: 132)
py4j.commands.CallCommand.execute (CallCommand.java: 79)
py4j.GatewayConnection.run (GatewayConnection.java: 251)
java.lang.Thread.run (Thread.java: 748)
引起的:. lang。ClassNotFoundException: com.microsoft.sqlserver.jdbc.spark.DefaultSource
java.net.URLClassLoader.findClass (URLClassLoader.java: 382)
java.lang.ClassLoader.loadClass (ClassLoader.java: 419)
java.lang.ClassLoader.loadClass (ClassLoader.java: 352)
在org.apache.spark.sql.execution.datasources.DataSource。美元anonfun lookupDataSource 5美元(DataSource.scala: 733)
在美元scala.util.Try蘋果(Try.scala: 213)
在org.apache.spark.sql.execution.datasources.DataSource。美元anonfun lookupDataSource 4美元(DataSource.scala: 733)
scala.util.Failure.orElse (Try.scala: 224)
org.apache.spark.sql.execution.datasources.DataSource .lookupDataSource美元(DataSource.scala: 733)
…15
請檢查下麵的代碼:
df.write。jdbc (url = " jdbc::狀態"置疑" / / <主機>:1433;數據庫= < db >;用戶= <用戶>;密碼= <密碼>;加密= true; trustServerCertificate = false; hostNameInCertificate = * .database.windows.net; loginTimeout = 30;司機= com.microsoft.sqlserver.jdbc.SQLServerDriver”,表=‘病人’模式=“覆蓋”)
請檢查下麵的代碼:
df.write。jdbc (url = " jdbc::狀態"置疑" / / <主機>:1433;數據庫= < db >;用戶= <用戶>;密碼= <密碼>;加密= true; trustServerCertificate = false; hostNameInCertificate = * .database.windows.net; loginTimeout = 30;司機= com.microsoft.sqlserver.jdbc.SQLServerDriver”,表=‘病人’模式=“覆蓋”)
你是一個救生圈!謝謝!