Sto usando il Jupyter notebook con Pyspark la seguente immagine finestra mobile con: Jupyter all-spark-notebookAggiunta vasi personalizzati per pyspark in notebook jupyter
Ora vorrei scrivere un'applicazione di streaming pyspark che consuma i messaggi di Kafka. Nel Spark-Kafka Integration guide descrivono come implementare un'applicazione di questo tipo utilizzando spark-submit (richiede il collegamento di un jar esterno - la spiegazione è in 3. Distribuzione). Ma dal momento che sto usando il notebook Jupyter non eseguo mai il comando spark-submit
, presumo che venga eseguito nella parte posteriore se premo execute.
Nel comando spark-submit
è possibile specificare alcuni parametri, uno dei quali è -jars
, ma non mi è chiaro come sia possibile impostare questo parametro dal notebook (o esternamente tramite variabili di ambiente?). Suppongo di poter collegare questo jar esterno in modo dinamico tramite lo SparkConf
o l'oggetto SparkContext
. Qualcuno ha esperienza su come eseguire correttamente il collegamento dal notebook?
Questo è interessante. Docker può impostare le variabili di ambiente con 'docker run -e', ma possono anche venire colpiti da qualche parte. Il Dockerfile per tutti gli spark-notebook utilizza env "SPARK_OPTS", ma ho notato che il Toree (scala) con tutte le scintille ha fatto il bombardamento di un'impostazione '--driver-memory' e' --master' e utilizza 'local [2] 'in un particolare file kernel.json. Vedi, ad esempio, il mio post su alcuni test manuali in https://github.com/jupyter/docker-stacks/pull/144. – Paul