Ho due versioni di python. Quando lancio un'applicazione spark da parte di spark-submit, utilizza la versione predefinita di python. Ma, voglio usare l'altra versione. Ho provato a mettere il percorso Python nella parte superiore del mio file .py ma non funziona. È possibile specificare la versione utilizzata da submit-spark?Come specificare la versione di python utilizzata da spark-submit?
risposta
È possibile specificare la versione di Python elencando il percorso di installazione in una linea shebang nello script:
myfile.py:
#!/full/path/to/specific/python2.7
o chiamando sulla linea di comando senza una linea shebang nello script:
/full/path/to/specific/python2.7 myfile.py
Tuttavia, vi consiglio di guardare in ottimi ambienti virtuali di Python che vi permetterà di creare "ambienti" separate per ogni versione di Python. Gli ambienti virtuali lavorano più o meno gestendo tutte le specifiche del percorso dopo l'attivazione, consentendo semplicemente di digitare python myfile.py
senza preoccuparsi delle dipendenze in conflitto o di conoscere il percorso completo di una versione specifica di python.
Click here for an excellent guide to getting started with Virtual Environments o [here] per la documentazione ufficiale di Python3.
Se non si ha accesso ai nodi e si sta eseguendo questa operazione utilizzando PySpark, è possibile specificare il Python version in your spark-env.sh
:
Spark_Install_Dir/conf/spark-env.sh:
PYSPARK_PYTHON = /full/path/to/python_executable/eg/python2.7
I Non sono sicuro della versione più recente di Spark, ma in quelli più vecchi, è possibile impostare la variabile di ambiente PYSPARK_PYTHON
sulla versione desiderata di Python, all'interno del file conf/spark-env.sh
.
Per ulteriori informazioni, consultare lo configuration documentation.
Ho provato la soluzione: ho impostato '' 'PYSPARK_PYTHON =/path/to/python''' in'''spark-env.sh'' ma non funziona. Uso la scintilla 1.3.1 – A7med
Per quanto ne so, è necessario impostare qualsiasi variabile di ambiente nella posizione che ho postato. Altri parametri vengono aggiunti a conf/spark-defaults.conf come coppie di valori chiave. Ho cambiato il link nella risposta ai documenti 1.3.1, che sono identici alle versioni precedenti. Lo script di invio dovrebbe caricare in entrambe le configurazioni per impostazione predefinita. – benjamin
grazie, ho visto il tuo link, hai ragione. ma non funziona ancora per me. – A7med
Nel mio ambiente ho semplicemente usato
export PYSPARK_PYTHON=python2.7
Ha funzionato per me
non funziona per me. –
- 1. Come verificare la versione html utilizzata da qualsiasi applicazione web?
- 2. Come cambiare la versione di Python rilevata da Cygwin
- 3. Versione framework .NET utilizzata
- 4. Come aggiornare la versione di SQLite utilizzata dal modulo SQLite3 di Python su Mac?
- 5. Python 3: Come specificare la codifica stdin
- 6. Come specificare la versione di MSBuild nello script nant?
- 7. Specificare la versione di pubblicazione con la riga di comando di MSBuild come versione di assembly del progetto
- 8. Come trovare la versione SSL/TLS utilizzata in Java
- 9. Come posso cambiare la versione di Scala utilizzata da Play, SBT e i suoi plugin?
- 10. Versione di SQLite utilizzata in Android?
- 11. Cambiare la versione di JQuery utilizzata nelle ricchezze
- 12. Come posso ottenere la versione GDAL/OGR installata da python?
- 13. Specificare la versione di addon di Heroku in app.json
- 14. Specificare la versione di rustc richiesta per un progetto Cargo
- 15. Come specificare la versione .NET quando si utilizza l'opzione/CLR
- 16. Come specificare la versione JDK in Android Studio?
- 17. Come specificare la versione Java richiesta in una build Gradle
- 18. Come specificare la versione JAXB in maven-jaxb2-plugin?
- 19. Come specificare la versione minima del bundler per Gemfile?
- 20. Tecnica di confronto delle stringhe utilizzata da Python
- 21. Pacchetto Python: come evitare di ridefinire la versione dell'autore ecc.?
- 22. Specificare l'interprete python da virtualenv in emacs
- 23. Come ottenere la quantità di memoria utilizzata da un'applicazione
- 24. setup.py: limita la versione permessa dell'interprete python
- 25. Cambia versione Ruby utilizzata in Sublime
- 26. Come selezionare la versione Python in PyCharm?
- 27. Specificare i numeri di versione in Bower
- 28. versione parquet utilizzata per scrivere un file
- 29. Come specificare quale interfaccia di rete deve essere utilizzata dall'emulatore Android sul mio computer di sviluppo?
- 30. Come si imposta la versione python del driver in spark?
in realtà sto lavorando su di cluster Hadoop e io non avere accesso a DataNodes, quindi non posso usare virtaul env. – A7med
Ho già provato il tuo primo suggerimento con shebang ma non funziona. In realtà, sto lanciando un'applicazione spark non solo un file python quindi non posso fare il tuo secondo suggerimento – A7med
@ user4851438 Ah, mi dispiace - verifica l'aggiornamento - puoi usare uno script di shell per modificare quale python viene usato quando si eseguono gli script inviati . –