2017-12-18 4 views
1

Ich benutze PYSPARK mit Spark 2.2 und Python 2.7.11 und ich versuche, Regeln aus den Entscheidungsbäumen eines zufälligen Gesamtstrukturklassifizierer mit der .toDebugString Methode zu extrahieren.Fehler mit rfModel.toDebugString

hatte ich Erfolg damit aber seit dem Update 2,1-2,2 Spark stürzt ab, nachdem ich diesen Befehl verwenden, und ich bekomme diese Fehlermeldung:

Voll Fehler:

rfModel.toDebugString 

----------------------------------------u'RandomForestClassificationModel (uid=RandomForestClassifier_4e99b85432585e2e32a2) with 30 trees\n Tr' Exception happened during processing of request from ('127.0.0.1', 42374) Traceback (most recent call last): File "/usr/local/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock self.process_request(request, client_address) File "/usr/local/lib/python2.7/SocketServer.py", line 321, in process_request self.finish_request(request, client_address) File "/usr/local/lib/python2.7/SocketServer.py", line 334, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/local/lib/python2.7/SocketServer.py", line 655, in init self.handle() File "/opt/cloudera/parcels/SPARK2/lib/spark2/python/pyspark/accumulators.py", line 235, in handle num_updates = read_int(self.rfile) File "/opt/cloudera/parcels/SPARK2/lib/spark2/python/pyspark/serializers.py", line 577, in read_int ---------------------------------------- raise EOFError EOFError

Wenn ich Führen Sie den Befehl erneut nach diesem Fehler ich bekomme:

Py4JError: An error occurred while calling o1129.toString

Mein Code ist ziemlich einfach und das verwirrt mir sehr.

#Get random forest from pipeline 
rfModel = model.stages[1] 

rfModel.toDebugString 

Ich weiß, rfModel ist ein randomForestClassifier-Objekt. Irgendwelche Ideen, warum ich diesen Fehler bekomme?

+0

Sie müssen mehr von der Fehlermeldung – eliasah

+0

eine Lösung gefunden. Python-Version verursachte das Problem. Wird den Fehler neu erstellen und mit dem Protokoll für zukünftige Benutzer aktualisieren. – Toutsos

+0

_ "/ opt/cloudera/parcels/SPARK2" _ Verwenden Sie CDH? Was ist die Version von CDH? –

Antwort

0

Die Lösung für mein Problem war die Python-Version. Durch die Verwendung von python3 + mit funke 2.2 konnte ich die .toDebugString-Methode problemlos ausführen. Ich werde mit dem vollen Fehlerprotokoll für jeden aktualisieren, der dies in der Zukunft sieht.

Verwandte Themen