pyspark 如何删除hdfs文件

时间:2022-09-12 07:58:17

    问题的背景:我想在每次跑集群的时候,先删除指定路径下之前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 import Client

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