【问题标题】:Submit Python Script into Spark Cluster将 Python 脚本提交到 Spark 集群
【发布时间】:2018-12-30 12:13:50
【问题描述】:

我正在尝试将以下 python 脚本提交到 Spark Cluster。我有 2 个奴隶正在运行

from sklearn import grid_search, datasets
from sklearn.ensemble import RandomForestClassifier
# Use spark_sklearn’s grid search instead:
from spark_sklearn.grid_search import GridSearchCV
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 = grid_search.GridSearchCV(RandomForestClassifier(), param_grid=param_grid)
gs.fit(X, y)

我正在使用 shell 中的以下命令来提交应用程序

./bin/spark-submit --master spark://122.138.1.66:7077 '/script/trainspark.py'

但是,我在主 GUI 的“运行应用程序”部分中没有看到。我错过了什么吗?

【问题讨论】:

    标签: apache-spark pyspark spark-submit


    【解决方案1】:

    对于在 spark 上提交 python 脚本,可以使用三种类型的集群部署:

    1. Apache Spark 独立集群
    2. 纱线
    3. 梅索斯

    单机模式

    1. 如果您在 spark-submit 时使用 --deploy-mode cluster,则 python 脚本将按预期运行,但没有 UI,也不会在集群模式下运行。
    2. 如果您在 spark-submit 时使用--deploy-mode client,则 python 脚本将以集群模式运行,应用程序将显示在 UI 上。 为此,您必须将指向 spark master url 节点 ip 的 spark master url 设置为 (spark://x.x.x.x:7077) 并在 conf 中提供应用程序名称,该名称将显示在 UI 上。只需要在主节点上运行python脚本,不需要在从节点上复制python脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多