我试图将一些示例Python - Scikit脚本执行到单个节点中的Spark(我的桌面 - Mac - 8 GB) . 这是我的配置spark-env.sh文件 .

SPARK_MASTER_HOST='IP'
SPARK_WORKER_INSTANCES=3
SPARK_WORKER_CORES=2

我开始我的奴隶

./sbin/start-slave.sh spark://IP

http://localhost:8080/)中的 Worker 表显示,每2个核心运行3名工作人员

我从中获取的脚本文件(https://databricks.com/blog/2016/02/08/auto-scaling-scikit-learn-with-apache-spark.html

from sklearn import svm, grid_search, datasets
from sklearn.ensemble import RandomForestClassifier
from spark_sklearn.util import createLocalSparkSession
from pyspark import SparkContext

sc=SparkContext.getOrCreate()
digits = datasets.load_digits()
X, y = digits.data, digits.target

param_grid = {"max_depth": [3, None],
              "max_features": [1, 3, 10],
              "min_samples_split": [2, 3, 10],
              "min_samples_leaf": [1, 3, 10],
              "bootstrap": [True, False],
              "criterion": ["gini", "entropy"],
              "n_estimators": [10, 20, 40, 80]}
gs = GridSearchCV(sc,RandomForestClassifier(), param_grid=param_grid)
gs.fit(X, y)

提交脚本

spark-submit --master spark://IP traingrid.py

但是我没有看到执行时间有任何重大改进 . 是否还需要其他配置才能使其更加平行?或者我应该添加另一个节点来改进它?