取消
顯示的結果
而不是尋找
你的意思是:

. lang。NoClassDefFoundError: org/apache/spark/internal/Logging $類錯誤寫dataframe SQL azure DB

Sha_1890
新的貢獻者三世

我寫了從XML與數據庫中提取數據,我用Dataframe轉換和試圖加載到數據庫。

我已經安裝了這些庫,

com.databricks: spark-xml_2.12:0.15.0

com.microsoft.azure: spark-mssql-connector_2.11_2.4:1.0.2

和我的細胞了下麵的代碼,

df_Driver.write.format (“com.microsoft.sqlserver.jdbc.spark”)。選項(“url”, jdbcUrl) .mode(“覆蓋”)。選項(“數據表”、“table_name”)。jdbcUsername選項(“用戶”)。選項(“密碼”,jdbcPassword) .save ()

但它拋出一個錯誤

. lang。NoClassDefFoundError: org/apache/spark/internal/Logging $類

Py4JJavaError:調用o1055.save時發生一個錯誤。

:. lang。NoClassDefFoundError: org/apache/spark/internal/Logging $類

在com.microsoft.sqlserver.jdbc.spark.DefaultSource。< init > (DefaultSource.scala: 32)

在sun.reflect.NativeConstructorAccessorImpl。newInstance0(本地方法)

sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java: 62)

sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java: 45)

java.lang.reflect.Constructor.newInstance (Constructor.java: 423)

java.lang.Class.newInstance (Class.java: 442)

org.apache.spark.sql.execution.datasources.DataSource .lookupDataSourceV2美元(DataSource.scala: 809)

org.apache.spark.sql.DataFrameWriter.lookupV2Provider (DataFrameWriter.scala: 983)

org.apache.spark.sql.DataFrameWriter.saveInternal (DataFrameWriter.scala: 293)

org.apache.spark.sql.DataFrameWriter.save (DataFrameWriter.scala: 258)

在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: org.apache.spark.internal.Logging $類

java.net.URLClassLoader.findClass (URLClassLoader.java: 382)

java.lang.ClassLoader.loadClass (ClassLoader.java: 419)

com.databricks.backend.daemon.driver.ClassLoaders LibraryClassLoader.loadClass美元(ClassLoaders.scala: 151)

java.lang.ClassLoader.loadClass (ClassLoader.java: 352)

…21日更

請幫我在這個問題上。蒂雅

5回複5

Hubert_Dudek1
尊敬的貢獻者三世

編寫SQL Azure你不需要安裝驅動程序隻使用:

jdbcUrl = " jdbc::狀態"置疑" / /{0}:{1};數據庫={2};用戶={3};密碼= {4}”。形式at(jdbcHostname, jdbcPort, jdbcDatabase, username, password) (df .write .jdbc(jdbcUrl, "table_name"))

Sha_1890
新的貢獻者三世

謝謝,現在它的工作。但是我有另一個問題,dataframe另存為一個新表中的數據,而不是將數據插入到現有表在DB。

df

.write

.format (jdbc) \

.option (“url”, jdbcUrl) \

.mode \(“覆蓋”)

.option(“數據表”,“Driver_DVCSD”) \

jdbcUsername .option(“用戶”)\

jdbcPassword .option(“密碼”).save ()

dataframe保存XML數據和表分配審計列created_date和created_by已經放棄了寫數據時從dataframe表。

Hubert_Dudek1
尊敬的貢獻者三世

把這個審計列新標準的使用.withColumn dataframe

Noopur_Nigam
重視貢獻二世

嗨@shafana Roohi Jahubar請檢查表的名字在你的寫命令?如果它是相同的,覆蓋模式應該覆蓋表。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map