2016-03-03 20 views
8

Nella mia applicazione, ho bisogno di connettermi al database, quindi ho bisogno di passare l'indirizzo IP e il nome del database quando la domanda è presentata.Come passare parametri esterni tramite Spark submit

ho presentare la domanda nel modo seguente::

./spark-submit --class class name --master spark://localhost:7077 \ 
--deploy-mode client /home/hadoop/myjar.jar 

risposta

11

Se si controlla the official documentation vedrai che spark-submit ha seguente sintassi:

./bin/spark-submit \ 
    --class <main-class> 
    --master <master-url> \ 
    --deploy-mode <deploy-mode> \ 
    --conf <key>=<value> \ 
    ... # other options 
    <application-jar> \ 
    [application-arguments] 

È possibile utilizzare uno application-arguments e conf passare richiesto configurazione al metodo principale e rispettivamente SparkConf.

1

Come affermato dal zero323 è possibile utilizzare il scintilla presentare comando da the link

./bin/spark-submit \ 
    --class <main-class> 
    --master <master-url> \ 
    --deploy-mode <deploy-mode> \ 
    --conf <key>=<value> \ 
    ... # other options 
    <application-jar> \ 
    [application-arguments] 

Qui, conf viene utilizzato per passare il file di configurazione relativi Spark che sono necessarie per l'esecuzione dell'applicazione come qualsiasi proprietà specifica (memoria esecutore) o se si desidera sovrascrivere la proprietà predefinita impostata in Spark-default.conf.

quanto riguarda il tuo caso d'uso è interessato si desidera passare l'IP per l'applicazione per connettersi al database, è possibile utilizzare i [Applicazione-argomenti] che sono passati dopo il JAR.

Quando si imposta il tuo principale:

def main(args: Array[String]) 

Poi si può accettare nulla come un argomento dato dopo la linea .jar.

Si prega di fare riferimento a for more details

Problemi correlati