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

刪除該文件

Kush22
新的因素

雖然出口數據從磚到Azure blob存儲如何刪除承諾,開始和成功文件?

1接受解決方案

接受的解決方案

Kaniz
社區經理
社區經理

嗨@Kushal薩哈,

您可以使用Azure磚效用函數

dbutils.fs.rm

這個函數利用原生雲存儲文件係統API,這是所有文件操作的優化。

然而,您不能刪除一個巨大的表直接使用

dbutils.fs.rm(“路徑/ / /表”)

對於小表,收集路徑的文件刪除適合司機內存,那麼您可以使用一個火花工作分發文件刪除任務。

對於巨大的表,即使對於一個頂級分區,文件路徑的字符串表示不能適應司機記憶。

解決這個問題最簡單的方法是遞歸地收集內部分區的路徑,並行路徑列表,刪除它們。

進口scala.util。{嚐試,成功,失敗}def刪除(p:字符串):單位= {dbutils.fs.ls (p) . map (_.path) .toDF。= > dbutils.fs.rm foreach{文件(文件(0)。toString, true) println (s“刪除文件:$文件”)}}最後def walkDelete(根:字符串)(水平:Int):單位= {dbutils.fs.ls(根). map (_.path)。foreach {p = > println (s”刪除:$ p水平:${水平}")val刪除=嚐試{如果(水平= = 0)刪除(p) else if (p endsWith“/”) walkDelete (p)(第1層)/ / / /設置隻有n水平的遞歸,所以它不會成為一個問題/ /其他刪除(p)}{刪除匹配成功案例(v) = > {println (s成功刪除$ p) dbutils.fs。rm失敗(p,真的)}(e) = > println (e.getMessage)}}}

同時確保代碼刪除內部分區被刪除的分區是足夠小。它通過搜索通過遞歸分區每個級別,隻有開始刪除當它擊中級別設置。

例如,如果你想開始刪除頂級分區,使用

walkDelete(根)(0)。

火花將會刪除所有的文件在dbfs: / mnt /表/ = 1 / /路徑,然後刪除…/ = 2 /模式後,直到精疲力竭。

在原帖子查看解決方案

2回答2

Kaniz
社區經理
社區經理

嗨@Kushal薩哈,

您可以使用Azure磚效用函數

dbutils.fs.rm

這個函數利用原生雲存儲文件係統API,這是所有文件操作的優化。

然而,您不能刪除一個巨大的表直接使用

dbutils.fs.rm(“路徑/ / /表”)

對於小表,收集路徑的文件刪除適合司機內存,那麼您可以使用一個火花工作分發文件刪除任務。

對於巨大的表,即使對於一個頂級分區,文件路徑的字符串表示不能適應司機記憶。

解決這個問題最簡單的方法是遞歸地收集內部分區的路徑,並行路徑列表,刪除它們。

進口scala.util。{嚐試,成功,失敗}def刪除(p:字符串):單位= {dbutils.fs.ls (p) . map (_.path) .toDF。= > dbutils.fs.rm foreach{文件(文件(0)。toString, true) println (s“刪除文件:$文件”)}}最後def walkDelete(根:字符串)(水平:Int):單位= {dbutils.fs.ls(根). map (_.path)。foreach {p = > println (s”刪除:$ p水平:${水平}")val刪除=嚐試{如果(水平= = 0)刪除(p) else if (p endsWith“/”) walkDelete (p)(第1層)/ / / /設置隻有n水平的遞歸,所以它不會成為一個問題/ /其他刪除(p)}{刪除匹配成功案例(v) = > {println (s成功刪除$ p) dbutils.fs。rm失敗(p,真的)}(e) = > println (e.getMessage)}}}

同時確保代碼刪除內部分區被刪除的分區是足夠小。它通過搜索通過遞歸分區每個級別,隻有開始刪除當它擊中級別設置。

例如,如果你想開始刪除頂級分區,使用

walkDelete(根)(0)。

火花將會刪除所有的文件在dbfs: / mnt /表/ = 1 / /路徑,然後刪除…/ = 2 /模式後,直到精疲力竭。

Kaniz
社區經理
社區經理

嗨@Kushal薩哈,你好嗎?你能夠解決您的查詢嗎?我的建議幫助你嗎?

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

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

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

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

Baidu
map