Anhang C. Fehlersuche in Dask

Je nach deinen Debugging-Techniken kann der Wechsel zu verteilten Systemen neue Techniken erfordern. Du kannst zwar Debugger im Remote-Modus verwenden, aber das erfordert oft mehr Einrichtungsaufwand. Du kannst Dask auch lokal ausführen, um deine vorhandenen Debugging-Tools in vielen anderen Situationen zu verwenden, obwohl - glaub uns - überraschend viele schwer zu debuggende Fehler im lokalen Modus nicht auftauchen. Dask hat einen speziellen hybriden Ansatz. Einige Fehler treten außerhalb von Python auf und sind daher schwieriger zu debuggen, z. B. Container-Out-of-Memory (OOM)-Fehler, Segmentierungsfehler und andere native Fehler.

Hinweis

Einige dieser Ratschläge gelten für alle verteilten Systeme, einschließlich Ray und Apache Spark. Daher sind einige Elemente dieses Kapitels auch in High Performance Spark, zweite Ausgabe, und Scaling Python with Ray enthalten.

Debugger verwenden

Es gibt ein paar verschiedene Optionen für die Verwendung von Debuggern in Dask. PyCharm und PDB unterstützen beide die Verbindung zu entfernten Debugger-Prozessen, aber es kann eine Herausforderung sein, herauszufinden, wo deine Aufgabe läuft und den entfernten Debugger einzurichten. Einzelheiten zum Remote-Debugging von PyCharm findest du im JetBrains-Artikel "Remote Debugging with PyCharm". Eine Möglichkeit ist, epdb zu verwenden und import epdb; epdb.serve() innerhalb eines Actors auszuführen. Die einfachste Möglichkeit, die allerdings nicht perfekt ist, besteht ...

Get Skalierung von Python mit Dask now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.