Запуск XGBoost Scala на кластере Spark? - PullRequest
0 голосов
/ 09 января 2019

У меня есть кластер с Spark 2.2 и Mesos. Мне нужно запустить на нем чистую версию XGBoost (v0.7) для Scala (не версию Scala-Spark). (Это потому, что мне нужно, чтобы модель Scala была запущена в производство на машине без Spark).

Я делаю всю подготовку данных в Spark, фреймах данных, а затем collect в DMatrix в драйвере. Из того, что я заметил, код работает на драйвере.

Вопрос 1 : Правильно ли, что он работает на драйвере, поскольку DMatrix является драйвером?

Пока работает XGBoost, SparkUI не показывает никакой активности. Также нет распечатки в StdErr или StdOut, и консоль Mesos не показывает никакой активности на драйвере.

Затем в какой-то момент я получаю распечатку StdErr, например:

[12:01:24] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 98 extra nodes, 0 pruned nodes, max_depth=6
[12:01:25] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 82 extra nodes, 0 pruned nodes, max_depth=6
[12:01:26] /xgboost/src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 78 extra nodes, 0 pruned nodes, max_depth=6

и работа продолжает вычислять метрики и другие вещи. Похоже, что XGBoost работает где-то, но

Вопрос 2 : Как я могу отслеживать активность драйвера во время работы XGBoost?

Вопрос 3 : Как узнать, сколько ядер он использует?

Вопрос 4 : Важна ли в этом сценарии настройка "Отправить искру" driver-cores?

...