Необходимый размер данных для оценки производительности Hadoop - PullRequest
0 голосов
/ 08 ноября 2019

Я использую Hadoop с 3 датодами на одной машине, используя контейнеры Docker. Я запустил алгоритм KMeans на небольшом смоделированном наборе данных с 200 точками данных.

Из-за издержек Hadoop этот процесс занимает много времени, около 2 или 3 минут, в то время как локальный запуск kmeans в R занимает немного времени. секунд.

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

1 Ответ

1 голос
/ 10 ноября 2019

Количество ядер и ОЗУ, доступных для обработки данных, имеет значение больше, чем сам объем данных, поэтому ограничение заданий Hadoop внутри контейнеров фактически приводит к запуску небольших контейнеров JVM внутри этих контейнеров. Следовательно, ожидается, что предоставление одному полному компьютеру доступа для обработки одного и того же объема данных будет гораздо более вероятным для быстрой обработки, и я уверен, что есть способ написать тот же распределенный алгоритм без Hadoop

Кроме этогоЕсли сами данные не разделяемы или не меньше размера блока hdfs, то они все равно будут обрабатываться только одной задачей mapreduce. Вы не упомянули размер, но я подозреваю, что 200 точек данных - это всего лишь несколько МБ максимум

...