Sto usando Spark 1.6.0 su tre VM, 1x Master (standalone), 2x worker w/8G RAM, 2CPU ciascuno.Jupyter & PySpark: come eseguire più quaderni
Sto usando la configurazione del kernel di seguito:
{
"display_name": "PySpark ",
"language": "python3",
"argv": [
"/usr/bin/python3",
"-m",
"IPython.kernel",
"-f",
"{connection_file}"
],
"env": {
"SPARK_HOME": "<mypath>/spark-1.6.0",
"PYTHONSTARTUP": "<mypath>/spark-1.6.0/python/pyspark/shell.py",
"PYSPARK_SUBMIT_ARGS": "--master spark://<mymaster>:7077 --conf spark.executor.memory=2G pyspark-shell --driver-class-path /opt/vertica/java/lib/vertica-jdbc.jar"
}
}
Attualmente, questo funziona. Posso usare il contesto scintilla sc
& sqlContext
senza importazione, come nella shell di pyspark.
problema nasce quando uso più notebook: Sul mio padrone scintilla vedo due 'pyspark-shell' app, che genere di senso, ma solo uno può correre alla volta. Ma qui "correre" non significa eseguire nulla, anche se non eseguo nulla su un notebook, questo verrà mostrato come "in esecuzione". Detto questo, non posso condividere le mie risorse tra i notebook, che è piuttosto triste (al momento devo uccidere la prima shell (= kernel del notebook) per eseguire la seconda).
Se avete qualche idea su come farlo, dimmelo! Inoltre, non sono sicuro che il modo in cui sto lavorando con i kernel sia "best practice", ho già avuto problemi a impostare la scintilla & jupyter per lavorare insieme.
Thx tutte
@AlbertoBonsanto come sarà in grado di risolvere problemi di concorrenza? :) – eliasah
@eliasah questo di sicuro. Ancora bello per avere qualche consiglio: p – pltrdy
Stai cercando di condividere lo sparkcontext? – eliasah