2014-08-03 6 views
0

Что делает наборы данных большими? Будет ли это коллекция файлов или файлов? Если я загружаю файлы в hdfs, тогда имя узла хранит три важные метаинформации, такие как имя файла, общие блоки и размер файла, и каждая информация содержит 150 байт, которые становятся 450 байтами. если мы выгружаем много файлов с одинаковыми данными, тогда необходимо увеличить память узла.hadoop большой набор данных

Здесь я смущен. Будет ли один файл больше, чем 1 ТБ или сбор файлов?

Я видел множество наборов данных в Интернете, но ни один файл не мог быть даже 200 ГБ. Есть файлы размером 200 ГБ. Не могли бы вы рассказать об этом?

+0

Просьба уточнить. В чем проблема? Или вы просто спрашиваете: «Какие типы данных могут быть такими большими»? – mrueg

ответ

1

Небольшие файлы проблема для обработки Hadoop читать here

Проблемы с маленькими файлами и HDFS

Небольшой файл является один, который значительно меньше, чем размер блока HDFS (по умолчанию 64 МБ). Если вы храните небольшие файлы, у вас, вероятно, их много (иначе вы бы не стали обращаться к Hadoop), и проблема в том, что HDFS не может обрабатывать множество файлов.

Каждый файл, каталог и блок в HDFS представлен как объект в памяти памяти, каждый из которых занимает 150 байт, как правило. Таким образом, 10 миллионов файлов, каждый из которых использует блок, будут использовать около 3 гигабайт памяти. Масштабирование намного выше этого уровня - проблема с текущим оборудованием. Конечно, миллиард файлов невозможен.

Проблемы с маленькими файлами и MapReduce

Карта задачи, как правило, обрабатывать блок ввода в то время (с использованием FileInputFormat по умолчанию). Если файл очень мал и их много, тогда каждая задача карты обрабатывает очень мало ввода, и есть намного больше задач карты, каждая из которых налагает дополнительные накладные расходы. Сравните 1 ГБ файл, разбитый на 16 64 МБ блоков и 10000 или около 100 КБ файлов. 10 000 файлов используют по одной карте каждый, а время работы может быть в десятки или сотни раз медленнее, чем эквивалентное, с одним входным файлом.

Ссылка: http://blog.cloudera.com/blog/2009/02/the-small-files-problem/

Надежда, что помогает

+0

У меня есть файлы журнала 450 ГБ. Один размер файла - 800 МБ. Будет ли 800 МБ считаться большим набором данных или 450 ГБ (который является коллекцией файлов)? Или мне нужно сделать один файл объемом 450 ГБ для копирования на Hadoop? –

+0

Насколько я знаю, файл 800 МБ должен быть достаточно большим, чтобы обрабатывать. – malatesh

+0

Согласно моему опыту, я не видел файл, который может иметь размер в файле GB (особенно log или csv). Мне нужно скопировать 56 файлов на hadoop? Будет ли это хорошо? –

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