2014-10-31 10 views
5

Come si eseguono i test di unità con nose per le applicazioni Apache Spark scritte in Python?In esecuzione nosetests per pyspark

Con nose si potrebbe solito basta chiamare il comando

nosetests 

per eseguire i test nella tests directory di un pacchetto di Python. Gli script di Pyspark devono essere eseguiti con il comando spark-submit invece del solito file eseguibile Python per abilitare l'importazione del modulo pyspark. Come dovrei combinare nosetests con pyspark per eseguire i test per la mia applicazione Spark?

risposta

4

Se è utile, utilizzare nosetest per testare sparkling pandas. Facciamo un po 'di magia nel nostro file utils per aggiungere pyspark al percorso basato sulla variabile di ambiente shell SPARK_HOME.

+0

Quello suona sicuramente interessante. Ti piacerebbe essere un po 'più specifico su ciò che deve essere fatto per eseguire i test? Grazie in anticipo – karlson

+1

Certo, lo script di test di esecuzione che abbiamo inserito nel repository controlla solo per assicurarsi che l'ambiente SPARK_HOME sia impostato, e se lo fa chiama nosetest con un gruppo di flag opzionali. Abbiamo anche aggiunto un test case di base che estendiamo per i nostri test individuali che avvia e ferma un contesto di scintilla locale. Questo funziona perché aggiungiamo le cose al nostro path python nel file utils che ho menzionato, che è probabilmente quello che mancano ai test. – Holden

+0

Grazie, con l'aiuto del tuo codice, sono stato effettivamente in grado di far funzionare i miei test unitari! @Holden – karlson