2012-01-20 4 views
2

Я храню много данных в hdfs. И мне нужно переместить файлы из одной папки в другую.О hadoop hdfs filesystem rename

Могу ли я узнать, сколько стоит метод переименования файловой системы? Скажем, мне нужно переместить терабайты данных.

спасибо.

ответ

3

Перемещение файлов в HDFS или в любую файловую систему, если оно выполнено правильно, включает изменения в пространство имен и не перемещение фактических данных. Просматривая код, только изменения в пространстве имен (память и журнал редактирования) в узле Name выполняются.

Из класса NameNode.java

  • NameNode контролирует две критические таблицы:
  • 1) filename-> blocksequence (пространства имен)
  • 2) блочно> ("Список оборудования Inodes")

Только первая часть должна быть изменена, блок в список машин не обязательно должен быть. Я не пробовал, но думаю, все должно быть хорошо.

3

Переименовать - это операция только для метаданных в HDFS. Поэтому это очень дешево, как в обычной файловой системе POSIX. Данные не перемещаются. Единственным сервером является наменода.

Исходный код для переименования можно найти here. Довольно прямо.

Смежные вопросы