1

全部,我想使用 python 设置 hdfs 目录配额。

设置配额时,我们应该使用hadoop dfsadmin -setSpaceQuota $QUOTA $DIR

我找到了一个名为 pyhdfs ( https://github.com/vbarter/pyhdfs ) 的 python 库,它可以控制许多 hdfs 操作,但不能控制配额操作。

如果我必须使用 python 创建一个目录:

fs = hadoop.HadoopDFS("username","password","ugi",64310)
print fs.getDefaultBlockSize()
fs.disconnect()

那么如何在hdfs中设置一个目录的配额呢?有没有类似的方法可以做到这一点?

谢谢

4

1 回答 1

0

我不熟悉 pyhdfs 模块,但如果它不能满足您的要求,您可以调用一个子shell。

from subprocess import call
call(["hadoop dfsadmin", "-setSpaceQuota ugi 64310"])

这就是我更喜欢在 python 脚本中进行 hadoop 类型管理的方式。它有其缺点,但它可以完成工作。

于 2013-10-11T14:58:28.030 回答