Как запустить TPOT с помощью искрового кластера dask TO (автономная модель или модель Mesos) - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь использовать ваш проект под названием dask-spark, предложенный Мэтью Роклином.

При добавлении dask-spark в мой проект у меня возникает проблема: ожидание рабочих, как показано на следующем рисунке.

Здесь я запускаю два рабочих узла (dask) как dask-worker tcp: // ubuntu8: 8786 и tcp: // ubuntu9: 8786 и запустить два рабочих узла (spark) поверх автономной модели, как worker-20180918112328-ubuntu8-45764 и worker-20180918112413-ubuntu9-41972

Ожидание рабочих

Мой код на Python:

from tpot import TPOTClassifier
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.externals import joblib
from dask.distributed import Client
import distributed.joblib    
from sklearn.externals.joblib import parallel_backend
from dask_spark import spark_to_dask
from pyspark import SparkConf, SparkContext
from dask_spark import dask_to_spark

if __name__ == '__main__':

  sc = SparkContext()    
  #connect to the cluster
  client = spark_to_dask(sc) 
  digits = load_digits()
  X_train, X_test, y_train, y_test = train_test_split(
    digits.data,
    digits.target,
    train_size=0.75,
    test_size=0.25,
  )

  tpot = TPOTClassifier(
  generations=2,
  population_size=10,
  cv=2,
  n_jobs=-1,
  random_state=0,
  verbosity=0  
  )
  with joblib.parallel_backend('dask.distributed', scheduler_host=' ubuntu8:8786'):
  tpot.fit(X_train, y_train)    

  print(tpot.score(X_test, y_test))

Я буду очень признателен, если вы поможете мне решить этот вопрос.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Я пересмотрел программу в core.py, как:

def spark_to_dask(sc, loop=None):
    """ Launch a Dask cluster from a Spark Context
    """
    cluster = LocalCluster(n_workers=None, loop=loop, threads_per_worker=None)
    rdd = sc.parallelize(range(1000))
    address = cluster.scheduler.address

После чего мой тестовый сценарий через Spark с Standalone или Mesos прошел успешно.

0 голосов
/ 20 сентября 2018

Как отмечается в README проекта, dask-spark не является зрелым.Это был проект выходного дня, и я не рекомендую его использовать.

Вместо этого я рекомендую запускать Dask напрямую, используя один из механизмов, описанных здесь: http://dask.pydata.org/en/latest/setup.html

Если вам придется использовать Mesos, то я не уверен, что окажу большую помощь,но есть пакет daskathon , который работает поверх Марафона и может вас заинтересовать.

...