Что подразумевается под «потоковым доступом к данным» в HDFS?

Что подразумевается под «потоковым доступом к данным» в HDFS?

Согласно странице архитектуры HDFS, HDFS была разработана для «потокового доступа к данным». Я не уверен, что это значит, но предполагаю, что это означает, что такая операция, как seek, либо отключена, либо имеет неоптимальную производительность. Это будет правильно?

Я заинтересован в использовании HDFS для хранения аудио/видео файлов, которые необходимо транслировать на браузерные клиенты. Большинство потоков будут от начала до конца, но некоторые могут иметь большое количество запросов.

Может быть, есть другая файловая система, которая могла бы сделать это лучше?

решение1

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

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

Конечно, в зависимости от нагрузки на систему и сеть поиск может занять немного больше времени.

решение2

HDFS хранит данные большими блоками — например, 64 МБ. Идея заключается в том, что вы хотите, чтобы ваши данные были расположены последовательно на вашем жестком диске, что сокращает количество обращений, которые должен выполнить ваш жесткий диск для чтения данных.

Кроме того, HDFS — это файловая система пользовательского пространства, поэтому существует единый центральный узел имени, содержащий каталог в памяти, в котором хранятся все блоки (и их реплики) по всему кластеру. Ожидается, что файлы будут большими (например, 1 ГБ или больше) и будут разделены на несколько блоков. Чтобы прочитать файл, код запрашивает у узла имени список блоков, а затем последовательно считывает блоки.

Данные «передаются» с жесткого диска, поддерживая максимальную скорость ввода-вывода, которую диск может поддерживать для этих больших блоков данных.

решение3

Для потоковой передачи данных изHadoop: Полное руководство, 3-е издание:

HDFS построена на идее, что наиболее эффективным шаблоном обработки данных является шаблон «запись один раз, чтение много раз». Набор данных обычно генерируется или копируется из источника, а затем с течением времени на этом наборе данных выполняются различные анализы. Каждый анализ будет включать большую часть, если не весь, набор данных, поэтому время чтения всего набора данных важнее, чем задержка при чтении первой записи.

Связанный контент