Разделение данных Hadoop и управление потоком данных

У меня есть 2 вопроса для Hadoop в качестве системы хранения.

  1. У меня есть кластер Hadoop из 3 узлов данных, и я хочу направить разбиение огромного файла, скажем, размером 128 МБ (при условии, что размер разделения составляет 64 МБ) на мой выбор узла данных. Вот как в таком случае контролировать, какой раздел идет к какому DataNode. Я имею в виду, скажем, у нас есть 3 узла данных (т.е. D1, D2, D3), и нам нужен определенный раскол (скажем, «A»), который я хочу переместить в определенный узел данных, пусть это будет D2.

    Как мы можем это сделать ?

  2. Каков наименьший возможный размер разделения файловой системы Hadoop. Как мы можем настроить его на наименьший размер разделения.


person Ankur Saran    schedule 13.08.2012    source источник


Ответы (1)


1) Вы не можете контролировать, где размещаются блоки данных

2) Такой маленький, как вы хотите (хотя, вероятно, должен быть кратен 1024 байтам, но я не думаю, что в этом есть фактическое ограничение), но на современном оборудовании все, что меньше 64/128 МБ, неэффективно (вы можете указать меньший размер разделения обработки, если вы делаете что-либо, интенсивно использующее ЦП в задании MR)

person Chris White    schedule 14.08.2012
comment
Спасибо Крис за ваш ответ. Мой вопрос касался направления новых входящих данных в конкретный узел данных с изменением источника, написанием приложения или размещением некоторого приоритета. - person Ankur Saran; 14.08.2012
comment
Можем ли мы внести некоторые изменения в источник, чтобы контролировать поток блоков. По крайней мере, мы можем распределять блоки на основе контрольной суммы md5, т.е. блоки с суммой md5 1-100 идут на NodeA, 100-200 идут на NodeB, 200-300 идут на NodeC и так далее. - person Ankur Saran; 21.11.2012