Различные файловые системы в Hadoop

Опубликовано: 18 Февраля, 2022

Hadoop - это программная среда с открытым исходным кодом, написанная на Java вместе с некоторыми сценариями оболочки и кодом C для выполнения вычислений над очень большими данными. Hadoop используется для пакетной / автономной обработки в сети большого количества машин, образующих физический кластер. Фреймворк работает таким образом, чтобы обеспечить распределенное хранение и обработку данных в одном кластере. Он разработан для работы с более дешевыми системами, обычно известными как обычное оборудование, где каждая система предлагает свое локальное хранилище и вычислительную мощность.

Hadoop может запускать различные файловые системы, и HDFS - это всего лишь одна реализация из всех этих файловых систем. Hadoop имеет множество файловых систем, которые можно реализовать конкретно. Абстрактный класс Java org.apache.hadoop.fs.FileSystem представляет файловую систему в Hadoop.

Файловая система

Схема URI

Реализация Java (все в org.apache.hadoop)

Описание

Местный файл fs.LocalFileSystem Локальная файловая система Hadoop используется для локально подключенного диска с контрольной суммой на стороне клиента. Локальная файловая система использует RawLocalFileSystem без контрольных сумм.
HDFS HDFS hdfs.DistributedFileSystem HDFS означает распределенную файловую систему Hadoop и разработан для эффективной работы с MapReduce.
HFTP hftp hdfs.HftpFileSystem

Файловая система HFTP обеспечивает доступ только для чтения к HDFS через HTTP. Нет связи HFTP с FTP.

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

HSFTP hsftp hdfs.HsftpFileSystem Файловая система HSFTP обеспечивает доступ только для чтения к HDFS через HTTPS. Эта файловая система также не имеет связи с FTP.
HAR хар fs.HarFileSystem Файловая система HAR в основном используется для уменьшения использования памяти NameNode путем регистрации файлов в Hadoop HDFS. Эта файловая система накладывается на другую файловую систему для целей архивирования.
KFS (облачный магазин) KFS fs.kfs.KosmosFileSystem облачное хранилище или KFS (KosmosFileSystem) - файловая система, написанная на c ++. Это очень похоже на распределенную файловую систему, такую как HDFS и GFS (файловая система Google).
FTP ftp fs.ftp.FTPFileSystem Файловая система FTP поддерживается сервером FTP.
S3 (родной) s3n fs.s3native.NativeS3FileSystem Эта файловая система поддерживается AmazonS3.
S3 (блочный) s3 fs.s3.S3FileSystem Файловая система S3 (блочная), которая поддерживается Amazon s3, хранит файлы в блоках (аналогично HDFS), чтобы преодолеть ограничение на размер файла 5 ГБ файловой системы S3.

Hadoop предоставляет множество интерфейсов для различных файловых систем и по большей части использует план URI, чтобы выбрать правильный пример файловой системы для общения. Вы можете использовать любую из этих файловых систем для работы с MapReduce при обработке очень больших наборов данных, но распределенные файловые системы с функциями локализации данных предпочтительнее, такие как HDFS и KFS (KosmosFileSystem).