簡體   English   中英

從 Synapse Notebook 覆蓋 Azure datalake Gen 2 中的文件會引發異常

[英]Overwriting a file in Azure datalake Gen 2 from Synapse Notebook throws Exception

作為從 Azure Databricks 遷移到 Azure Synapse Analytics Notebooks 的一部分,我遇到了下面解釋的問題。

從 Azure Datalake Storage Gen 2 讀取 CSV 文件並使用以下命令將其分配給 pyspark 數據幀時。

df = spark.read.format('csv').option("delimiter", ",").option("multiline", "true").option("quote", '"').option("header", "true").option("escape", "\\").load(csvFilePath)

處理完這個文件后,我們需要覆蓋它,我們使用以下命令。

df.coalesce(1).write.option("delimiter", ",").csv(csvFilePath, mode = 'overwrite', header = 'true')

這樣做的目的是刪除路徑“csvFilePath”處的現有文件,並且失敗並出現錯誤“Py4JJavaError:調用 o617.csv 時發生錯誤”。

我注意到的事情:

  1. 一旦覆蓋命令刪除了路徑“csvFilePath”處的 CSV 文件,數據幀“df”中的數據也會被刪除。
  2. 看起來它是在運行時引用文件,而傳統上在 databricks 中我們沒有這個問題並且覆蓋成功運行。

[Synapse Notebook 在寫入命令時返回的錯誤。][1] [1]:https://i.stack.imgur.com/Obj9q.png

建議執行掛載數據存儲。 請參考以下文檔。

https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-use-databricks-spark

暫無
暫無

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

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