1. 程式人生 > >pyspark 如何刪除hdfs檔案

pyspark 如何刪除hdfs檔案

    問題的背景:我想在每次跑叢集的時候,先刪除指定路徑下之前hdfs跑的資料檔案,但是spark又沒有提供這樣一個可以呼叫函式。

    解決辦法:你可以通過呼叫subprocess.call 執行任意的Linux Shell命令 或者 sh library下面這個方法已經解決我的需求。

import subprocess

some_path =...
subprocess.call(["hadoop","fs","-rm","-f", some_path])

如果你用的是 Python 2.x ,你可以嘗試 spotify/snakebite:   (下面一個方法我還沒有測試成功)

from snakebite.client importClient

host =...
port =...
client =Client(host, port)
client.delete(some_path, recurse=True)