Sono assolutamente d'accordo con @Holden su questo!
L'RDDS di simulazione è difficile; è preferibile eseguire i test dell'unità in un contesto Spark locale , come consigliato nello programming guide.
So che questo non può essere tecnicamente un test unitario, ma si spera che sia sufficiente chiudere .
Unit Testing
Spark è amichevole per unit testing con qualsiasi quadro di unit test popolare. Basta creare uno SparkContext nel test con l'URL principale impostato su locale, eseguire le operazioni e quindi chiamare SparkContext.stop() per distruggerlo. Assicurati di interrompere il contesto all'interno di un blocco finally o del metodo tearDown del framework di test, dato che Spark non supporta due contesti in esecuzione contemporaneamente nello stesso programma.
Ma se sei veramente interessato e vuoi ancora provare a deridere gli RDD, ti suggerisco di leggere il codice di prova ImplicitSuite.
L'unico motivo per cui si tratta di pseudo-simulazione del RDD consiste nel verificare se implict
funziona correttamente con il compilatore, ma in realtà non è necessario un vero RDD.
def mockRDD[T]: org.apache.spark.rdd.RDD[T] = null
E non è nemmeno un vero finto. Crea solo un oggetto nullo di tipo RDD [T]
Perché non potresti? Questi sono solo oggetti di base, puoi prenderli in giro, anche se molto probabilmente è più facile usare 'sc.parallelize' piuttosto che simulare i metodi' map'/'flatMap'/.... –