2016-08-08 13 views
3

Wenn ein Job mit der Einreichung Funken übermitteln ich die Master-URL festgelegt und gibt ihm eine Hauptklasse, ab:Spark-Submit Master-URL und SparkSession-Master-URL in der Hauptklasse, was ist der Unterschied?

spark-submit --class WordCount --master spark://spark:7077 my.jar

Aber innerhalb dieser Hauptklasse meines Funken Kontext eines anderen Master-URL definieren:

SparkSession.builder().appName("Word2vec").master("local"). 

Das verwirrt mich, was passiert, wenn ich einen Job mit spark-submit an den Master eines eigenständigen Clusters (spark://spark:7077) senden, die einen SparkSession mit einem local Master starten?

Sollte die Master-URL SparkSession immer dieselbe sein wie die spark-submit-URL, wenn sie auf einem Cluster ausgeführt wird?

Antwort

2

Es gibt keinen Unterschied zwischen diesen Eigenschaften. Wenn beide Werte festgelegt sind, haben die direkt in der Anwendung festgelegten Eigenschaften Vorrang. Zitieren documentation:

Irgendwelche als Flags angegebenen Werte oder in den Eigenschaften wird Datei an die Anwendung übergeben werden und fusionierte die mit durch SparkConf angegeben. Eigenschaften, die direkt in der SparkConf gesetzt werden, haben die höchste Priorität, dann werden Flags an Spark-Submit oder Spark-Shell übergeben, dann Optionen in der Spark-defaults.conf-Datei. Einige Konfigurationsschlüssel wurden seit früheren Versionen von Spark umbenannt; In solchen Fällen werden die älteren Schlüsselnamen weiterhin akzeptiert, haben jedoch eine niedrigere Priorität als jede Instanz des neueren Schlüssels.

+0

Danke für den Link, ich habe diesen Teil der Dokumentation vermisst – Quentin