Spark Machine Learning работает на одной машине: распределена она или нет? - PullRequest
0 голосов
/ 03 января 2019

Недавно я изучаю масштабируемое машинное обучение, и Spark MLlib - это первый инструмент, который я научился использовать.Мне уже удалось реализовать некоторые простые задачи машинного обучения, такие как линейная регрессия, с помощью Spark MLlib, и все они без проблем работают на моем ноутбуке.

Однако, мне интересно, программа не развернута в кластере,и он работает на одном узле.Это все еще не распространяется в такого рода сценарии.Если он распространяется, Spark автоматически запускает задачи с многопоточностью?

Кто-нибудь может сказать мне причину, по которой Spark MLlib облегчает реализацию масштабируемого машинного обучения?

1 Ответ

0 голосов
/ 03 января 2019

Ну, это зависит от того, каково ваше определение "распределенного".

Spark MLlib - это фреймворк, который позволяет (но не гарантирует) вам писать код, который способен распространяться. Он решает множество проблем с распределением и синхронизацией, связанных с распределенными вычислениями. Так что да, программистам намного проще кодировать и развертывать распределенные алгоритмы.

Причина, по которой Spark упрощает масштабируемую ML, заключается в том, что вы можете больше сосредоточиться на алгоритме, а не увязать в гонках данных и распределении кода по разным узлам, принимая во внимание локальность данных и т. Д. Обычно это все обрабатывается классом SparkContext / RDD.

Тем не менее, кодирование для Spark не гарантирует, что оно будет распределено оптимально. Есть еще вещи, которые нужно учитывать, такие как разбиение данных и уровень параллелизма, среди многих других.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...