Я написал простой код кластеризации k-средних для Hadoop (две отдельные программы - маппер и редуктор).Код работает над небольшим набором данных 2d точек на моем локальном компьютере.Он написан на Python, и я планирую использовать Streaming API.
Я хотел бы получить предложения о том, как лучше всего запустить эту программу на Hadoop.
После каждого запуска картографического и редукторного процесса генерируются новые центры,Эти центры являются входными данными для следующей итерации.
Из того, что я вижу, каждая итерация mapreduce должна быть отдельной задачей mapreduce.И, похоже, мне придется написать еще один скрипт (python / bash), чтобы извлекать новые центры из HDFS после каждой фазы сокращения и передавать его обратно в маппер.
Есть ли другой, более простой и менее сложный способ?Если кластер использует честный планировщик, пройдет много времени, прежде чем это вычисление завершится?