Самый быстрый доступ к файлу с помощью Hadoop - PullRequest
0 голосов
/ 03 октября 2011

Мне нужен самый быстрый доступ к одному файлу, несколько копий которого хранятся во многих системах, использующих Hadoop. Мне также нужно найти время пинга для каждого файла в отсортированном виде. Как я должен подходить к обучению, чтобы выполнить эту задачу? Пожалуйста, помогите быстро. У меня очень мало времени.

1 Ответ

1 голос
/ 03 октября 2011

Если вам нужен более быстрый доступ к файлу, просто увеличьте коэффициент репликации для этого файла с помощью команды setrep . Это может не увеличить пропускную способность файла пропорционально из-за текущих аппаратных ограничений.

Команда ls не дает время доступа к каталогам и файлам, она показывает только время модификации. Используйте Offline Image Viewer для выгрузки содержимого файлов hdfs fsimage в удобочитаемые форматы. Ниже приведена команда с использованием параметра «Отступ».

bin / hdfs oiv -i fsimagedemo -p Отступы -o fsimage.txt

Образец o / p из fsimage.txt, найдите столбец ACCESS_TIME.

INODE
  INODE_PATH = /user/praveensripati/input/sample.txt
  REPLICATION = 1
  MODIFICATION_TIME = 2011-10-03 12:53
  ACCESS_TIME = 2011-10-03 16:26
  BLOCK_SIZE = 67108864
  BLOCKS [NUM_BLOCKS = 1]
    BLOCK
      BLOCK_ID = -5226219854944388285
      NUM_BYTES = 529
      GENERATION_STAMP = 1005
  NS_QUOTA = -1
  DS_QUOTA = -1
  PERMISSIONS
    USER_NAME = praveensripati
    GROUP_NAME = supergroup
    PERMISSION_STRING = rw-r--r--

Чтобы получить время пинга в отсортированном виде, вам нужно написать сценарий оболочки или какую-нибудь другую программу для извлечения INODE_PATH и ACCESS_TIME для каждого раздела INODE, а затем отсортировать их на основе ACCESS_TIME. Вы также можете использовать Свинью, как показано здесь .

Как мне подойти к обучению в Хэдупе, чтобы выполнить эту задачу? Пожалуйста, помогите быстро. У меня очень мало времени.

Если вы хотите выучить Hadoop за день или два, это невозможно. Здесь несколько видео и статей для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...