2016-10-17 2 views
1

Ich habe eine PySpark-Anwendung geschrieben, die eine große Tabelle mit 10 Nachschlagetabellen verbindet und dann eine Transformation für diese Tabelle unter Verwendung der df.when-Klausel durchführt. Das Definieren von df für jede Nachschlagetabelle und deren Verknüpfung nimmt die meisten Zeilen im Skript auf. Wie teste ich das Gerät? verwende ich sc.parallize für jede Nachschlagetabelle und für die Final Table und überprüfe die Transformation? Wie testen Sie die Funkenzündung normalerweise?PySpark Unit Test Ansatz

+0

Haben Sie [this] (http://stackoverflow.com/questions/33811882/how-do-i-unit-test-pypspark-programs?rq=1) überprüft? – ShuaiYuan

Antwort

1

shuaiyuans Kommentar ist gut und Sie sollten vorhandene Frameworks wie py.test zum Testen in Python verwenden. Um die Frage direkter für DataFrames zu beantworten, empfehle ich, dass Sie nicht sc.parallelize verwenden, sondern stattdessen spark.createDataFrame verwenden, um den DataFrame zu instanziieren, den Sie an Ihre Funktion übergeben. Dann können Sie df.collect() für die Ausgabe aufrufen und bestätigen, dass die Anzahl der Zeilen in der Ausgabe wie erwartet ist, sowie die Werte für die Spalten.