我试图将一些示例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/)中的工人表显示有3名工作人员每2个核心运行
我从(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
但是我没有看到执行时间有任何重大改进。 是否还需要其他配置才能使其更加平行?或者我应该添加另一个节点来改进它?