Как я могу получить свободное место HDFS в коде Java? - PullRequest
0 голосов
/ 10 февраля 2020

Чтобы получить доступное свободное место в HDFS, я могу использовать следующую команду:

hadoop fs -df /

Но мне нужно получить к нему доступ, используя код Java. Похоже, API файловой системы Had oop не дает свободного пространства hdfs.

Я мог найти java эквивалент команды df, но не смог понять, как ее использовать.

Кто-нибудь может попросить помочь?

1 Ответ

1 голос
/ 10 февраля 2020

Изучив код работы команды, я обнаружил, что она использует API-интерфейс FileSystem Had oop для извлечения объекта FsStatus. Этот объект дает используемое и свободное пространство hdfs.

Код для извлечения этого может быть:

    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);

    Path path = new Path("/");
    long used = fs.getStatus(path).getUsed();
    long available = fs.getStatus(path).getRemaining();
...