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

誤差在寫數據幀從Azure磚到Azure突觸專用池

rahul08yadav
新的貢獻者三世

我正在讀從我的磚工作區DF三角洲表,然後我想寫這DF SQL Azure突觸專用池,但我得到錯誤:-

Py4JJavaError:調用o1509.save時發生一個錯誤。:com.databricks.spark.sqldw。SqlDWSideException: Azure突觸分析未能執行JDBC查詢產生的連接器。底層SQLException異常(s): - com.microsoft.sqlserver.jdbc。SQLServerException:輸入字符串不是一個有效的base - 64,因為它包含一個非基礎64字符,超過兩個填充字符,或非法字符填充字符。[ErrorCode = 110813] [SQLState = S0001]

下麵是我的代碼:-

從pyspark。sql從pyspark.sql進口*。從pyspark.sql進口*類型。功能導入* dwDatabase = " sqldbpool " dwServer = " synapseworkspace.database.windows.net " dwUser = "用戶" dwPass =“通過”dwJdbcPort = " 1433 " dwJdbcExtraOptions =“加密= true; trustServerCertificate = true; hostNameInCertificate = * .database.windows.net; loginTimeout = 30;“sqlDwUrl = " jdbc::狀態"置疑" / / " + dwServer +”:“+ dwJdbcPort +”;數據庫= " + dwDatabase +”;用戶= " + dwUser +”;密碼= " + dwPass +”; dwJdbcExtraOptions美元“sqlDwUrlSmall = " jdbc::狀態"置疑" / / " + dwServer +”:“+ dwJdbcPort +”;數據庫= " + dwDatabase +”;用戶= " + dwUser +”;密碼= " + dwPass spark.conf。(“spark.sql.parquet設置。writeLegacyFormat”、“true”) df = StarSchemaDict [' Product_Dim '] #字典是df的價值。(df .write .format .option (“com.databricks.spark.sqldw”) (“url”, sqlDwUrlSmall) .option(“數據表”,“Product_Dim”) .option .option (“forward_spark_azure_storage_credentials”、“True”) (“tempdir adls) .mode(“覆蓋”).save ())

數據被複製到我adls暫存區域但後拋出錯誤。

2回答2

Debayan
尊敬的貢獻者三世
尊敬的貢獻者三世

你好,如果你有編碼的任何部分的代碼,你能>編碼解碼,再試一次嗎?

rahul08yadav
新的貢獻者三世

問題得到了,因為我是通過SAS令牌設置配置存儲賬戶而不是存儲訪問密鑰。現在的工作沒有任何問題。

spark.conf.set (" fs.azure.account.key.datalakestorage.dfs.core.windows.net " dbutils.secrets.get(範圍=“databricks-scope”鍵=“StorageAccessKey”))

我不知道為什麼錯誤顯示“輸入字符串不是一個有效的base - 64,因為它包含一個非基礎64字符”,但問題是相關的存儲訪問鍵。

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

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

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

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

Baidu
map