Hadoop "Стиль" - чанкинг против тысяч (k, v) пар - PullRequest
2 голосов
/ 31 января 2011

Я работаю с несколькими большими файлами, которые содержат матрицы данных, соответствующие сетке MODIS НАСА - сетка разделяет поверхность Земли на массив размером 21 600 x 43 200 пикселей.Этот конкретный набор данных дает одно целочисленное значение на пиксель.

У меня есть около 200 файлов, один файл в месяц, и мне нужно создать временной ряд для каждого пикселя.

У меня вопрос кзадача карты, которая принимает один из этих файлов - следует ли разделить сетку на куски, скажем, 24 000 пикселей, и сгенерировать их как значения (с ключами в качестве местоположения и периода времени) или просто сгенерировать пару ключ-значение для каждогоодин пиксель, обрабатывая пиксель как слово в примере с каноническим подсчетом слов?

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

1 Ответ

0 голосов
/ 01 февраля 2011

В проекте Hadoop, над которым я работал, я могу подтвердить, что количество пар K, V напрямую влияет на нагрузку, время процессора и IO. Если вы можете ограничить количество фрагментов и при этом сохранить масштабируемость, достаточную для вашей ситуации, я, безусловно, постараюсь пойти туда.

...