Data Science Workspace Handbuch zur Fehlerbehebung

Dieses Dokument enthält Antworten auf häufig gestellte Fragen zu Adobe Experience Platform Data Science Workspace. Für Fragen und Fehlerbehebung in Bezug auf Platform APIs im Allgemeinen, siehe Adobe Experience Platform API-Fehlerbehebungsleitfaden.

Status der JupyterLab-Notebook-Abfrage im Ausführungszustand fixiert

Ein JupyterLab-Notebook kann darauf hindeuten, dass sich eine Zelle im Ausführungszustand befindet, auf unbestimmte Zeit, in einigen nicht genügend Speicher-Bedingungen. So kann das JupyterLab-Notebook bei der Abfrage eines großen Datasets oder bei der Ausführung mehrerer nachfolgender Abfragen nicht über genügend Speicher verfügen, um das sich ergebende Datenobjekt zu speichern. Es gibt einige Indikatoren, die sich in dieser Situation zeigen lassen. Zunächst tritt der Kernel in den Leerlauf ein, obwohl die Zelle als ausgeführt angezeigt wird, wie durch die [*] Symbol neben der Zelle. Darüber hinaus gibt die untere Leiste den verwendeten/verfügbaren RAM an.

Verfügbarer RAM

Während der Daten kann der Speicher wachsen, bis er den maximal zugewiesenen Speicher erreicht. Der Speicher wird freigegeben, sobald der maximale Speicher erreicht ist und der Kernel neu gestartet wird. Das bedeutet, dass der verwendete Speicher in diesem Szenario aufgrund des Neustarts des Kernels sehr niedrig sein kann, während der Speicher kurz vor dem Neustart sehr nahe am maximal zugewiesenen RAM gelegen hätte.

Um dieses Problem zu beheben, wählen Sie das Zahnradsymbol rechts oben im JupyterLab aus und schieben Sie den Schieberegler nach rechts, gefolgt von der Auswahl von Konfigurationen aktualisieren um mehr Arbeitsspeicher zuzuweisen. Wenn Sie mehrere Abfragen ausführen und sich Ihr RAM-Wert dem maximal zugewiesenen Wert nähert, starten Sie den Kernel neu, um den verfügbaren RAM-Speicher zurückzusetzen. Dadurch wird sichergestellt, dass die maximale RAM-Menge für die aktuelle Abfrage verfügbar ist.

mehr RAM zuweisen

In dem Ereignis, dem Sie die maximale Speicherkapazität (RAM) zuweisen und das Problem weiterhin besteht, können Sie Ihre Abfrage so ändern, dass sie auf eine kleinere Datenmenge angewendet wird, indem Sie die Spalten oder den Datenbereich reduzieren. Um die gesamte Datenmenge zu nutzen, wird empfohlen, ein Spark-Notebook zu verwenden.

JupyterLab Umgebung wird nicht geladen in Google Chrome

WICHTIG

Dieses Problem wurde behoben, konnte jedoch im Google Chrome 80.x-Browser weiterhin auftreten. Stellen Sie sicher, dass Ihr Chrome-Browser auf dem neuesten Stand ist.

Mit Google Chrome Browser Version 80.x, alle Drittanbieter-Cookies sind standardmäßig blockiert. Diese Politik kann JupyterLab von der Beladung innerhalb von Adobe Experience Platform.

Gehen Sie wie folgt vor, um dieses Problem zu beheben:

In Chrome , navigieren Sie rechts oben und wählen Sie Einstellungen (Alternativ können Sie "chrome://settings/" in der Adressleiste kopieren und einfügen). Führen Sie anschließend einen Bildlauf zum Ende der Seite durch und klicken Sie auf Erweitert herunterladen.

Chrome erweitert

Die Datenschutz und Sicherheit angezeigt. Als Nächstes klicken Sie auf Site-Einstellungen gefolgt von Cookies und Site-Daten.

Chrome erweitert

Chrome erweitert

Aktivieren Sie schließlich die Option "Drittanbieter-Cookies blockieren" in "AUS".

Chrome erweitert

HINWEIS

Alternativ können Sie Cookies von Drittanbietern deaktivieren und hinzufügen [*.]ds.adobe.net zur Zulassungsliste.

Navigieren Sie in der Adressleiste zu "chrome://flags/". Suchen und deaktivieren Sie das Flag mit dem Titel "SameSite by default cookies" über das Dropdown-Menü rechts.

samesite-Flag deaktivieren

Nach Schritt 2 werden Sie aufgefordert, Ihren Browser neu zu starten. Nach dem Neustart Jupyterlab muss zugänglich sein.

Warum kann ich nicht darauf zugreifen JupyterLab in Safari?

Safari deaktiviert Cookies von Drittanbietern standardmäßig in Safari < 12. weil Jupyter Virtual Machine-Instanz befindet sich auf einer anderen Domäne als der übergeordnete Frame. Adobe Experience Platform benötigt derzeit die Aktivierung von Drittanbieter-Cookies. Aktivieren Sie Cookies von Drittanbietern oder wechseln Sie zu einem anderen Browser, z. B. Google Chrome.

Für Safari 12 müssen Sie Ihren Benutzeragent auf 'Chrome' oder 'Firefox". Um den User Agent zu wechseln, öffnen Sie den Beginn Safari Menü und wählen Voreinstellungen. Das Fenster Voreinstellungen wird angezeigt.

Safari-Voreinstellungen

Wählen Sie im Fenster Safari-Voreinstellungen die Option Erweitert. Überprüfen Sie dann Entwicklungsmenü in Menüleiste anzeigen Feld. Sie können das Voreinstellungsfenster nach Abschluss dieses Schritts schließen.

Safari Advanced

Wählen Sie anschließend in der oberen Navigationsleiste die Entwickeln Menü. Von innerhalb von Entwickeln Dropdown, hover over Benutzeragent. Sie können Chrome oder Firefox Benutzeragentenzeichenfolge, die Sie verwenden möchten.

Entwicklungsmenü

Warum wird eine '403 Verbotene' Meldung angezeigt, wenn ich versuche, eine Datei hochzuladen oder zu löschen in JupyterLab?

Wenn Ihr Browser mit Advertising-Blocker-Software wie z. B. Ghostery oder AdBlock Außerdem muss die Domäne "*.adobe.net" in jeder Werbeblockiersoftware für JupyterLab , um normal zu arbeiten. Das liegt daran, dass JupyterLab virtuelle Maschinen werden auf einer anderen Domäne als Experience Platform Domäne.

Warum einige Teile meiner Jupyter Notebook aussehen oder nicht als Code rendern?

Dies kann vorkommen, wenn die betreffende Zelle versehentlich von "Code" in "Markdown" geändert wird. Während eine Codezelle den Fokus hat, drücken Sie die Tastenkombination ESC+M ändert den Zelltyp in "Markdown". Der Zellentyp kann durch den Dropdown-Indikator oben im Notebook für die ausgewählten Zellen geändert werden. Um einen Zellentyp in Code zu ändern, wählen Sie die zu ändernde Zelle aus, um den Beginn auszuwählen. Klicken Sie dann auf das Dropdown-Menü, das den aktuellen Zellentyp angibt, und wählen Sie dann "Code".

Benutzerdefinierte Installation Python Bibliotheken?

Die Python Kernel wird mit vielen beliebten Maschinen-Lernbibliotheken vorinstalliert. Sie können jedoch zusätzliche benutzerdefinierte Bibliotheken installieren, indem Sie den folgenden Befehl in einer Codezelle ausführen:

!pip install {LIBRARY_NAME}

Für eine vollständige Liste der vorinstallierten Python Bibliotheken, siehe Anhang des JupyterLab-Benutzerhandbuchs.

Kann ich benutzerdefinierte PySpark-Bibliotheken installieren?

Leider können Sie keine zusätzlichen Bibliotheken für den PySpark-Kernel installieren. Sie können sich jedoch an Ihren Kundenbetreuer wenden, um benutzerdefinierte PySpark-Bibliotheken für Sie zu installieren.

Eine Liste vorinstallierter PySpark-Bibliotheken finden Sie in der Anhang des JupyterLab-Benutzerhandbuchs.

Ist die Konfiguration möglich? Spark Cluster-Ressourcen für JupyterLab Spark oder PySpark-Kernel?

Sie können Ressourcen konfigurieren, indem Sie den folgenden Block zur ersten Zelle Ihres Notebooks hinzufügen:

%%configure -f 
{
    "numExecutors": 10,
    "executorMemory": "8G",
    "executorCores":4,
    "driverMemory":"2G",
    "driverCores":2,
    "conf": {
        "spark.cores.max": "40"
    }
}

Weitere Informationen unter Spark Cluster-Ressourcenkonfiguration, einschließlich der vollständigen Liste konfigurierbarer Eigenschaften, finden Sie unter JupyterLab-Benutzerhandbuch.

Warum erhalte ich einen Fehler, wenn ich versuche, bestimmte Aufgaben für größere Datensätze auszuführen?

Wenn Sie einen Fehler aus einem Grund wie z. B. Reason: Remote RPC client disassociated. Likely due to containers exceeding thresholds, or network issues. Dies bedeutet normalerweise, dass dem Treiber oder einem Manager der Speicher ausgeht. JupyterLab-Notebooks Datenzugriff Dokumentation für weitere Informationen über Datenbeschränkungen und die Ausführung von Aufgaben in großen Datensätzen. Normalerweise kann dieser Fehler durch Ändern der mode von interactive nach batch.

Zusätzlich werden beim Schreiben großer Spark-/PySpark-Datensätze Daten zwischengespeichert (df.cache()) vor dem Ausführen des Schreibcodes kann die Leistung erheblich verbessern.

Wenn beim Lesen von Daten ein Problem auftritt und Sie Transformationen auf die Daten anwenden, versuchen Sie, die Daten vor den Transformationen im Cache zu speichern. Durch das Zwischenspeichern Ihrer Daten werden mehrere Lesevorgänge im Netzwerk verhindert. Beginn durch Lesen der Daten. Als Nächstes wird der Cache (df.cache()) die Daten. Führen Sie schließlich Ihre Transformationen durch.

Warum brauchen meine Spark/PySpark Notebooks so lange, um Daten zu lesen und zu schreiben?

Wenn Sie Datentransformationen durchführen, z. B. fit(), können die Transformationen mehrere Male ausgeführt werden. Um die Leistung zu erhöhen, speichern Sie Ihre Daten im Cache ab mit df.cache() vor der Durchführung fit(). Dadurch wird sichergestellt, dass die Transformationen nur ein einziges Mal ausgeführt werden und mehrere Lesevorgänge im Netzwerk verhindert werden.

Empfohlene Bestellung: Beginn durch Lesen der Daten. Führen Sie als Nächstes Transformationen durch, gefolgt vom Zwischenspeichern (df.cache()) die Daten. Schließlich führen Sie fit().

Warum laufen meine Spark/PySpark Notebooks nicht?

Wenn Sie einen der folgenden Fehler erhalten:

  • Auftrag aufgrund eines Bühnenfehlers abgebrochen … Kann nur RDDs mit derselben Anzahl von Elementen in jeder Partition zitieren.
  • Remote-RPC-Client getrennt und andere Speicherfehler.
  • Schlechte Leistung beim Lesen und Schreiben von Datensätzen.

Aktivieren, um sicherzustellen, dass die Daten im Cache gespeichert werden (df.cache()) vor dem Schreiben der Daten. Wenn Code in Notebooks ausgeführt wird, verwenden Sie df.cache() vor einer Aktion wie fit() kann die Leistung von Notebooks erheblich verbessern. Verwenden df.cache() vor dem Schreiben eines Datasets stellt sicher, dass die Transformationen nur ein einziges Mal statt mehrmals ausgeführt werden.

Docker Hub Beschränkungen in Data Science Workspace

Ab dem 20. November 2020 wurden Preislimits für die anonyme und kostenlose, authentifizierte Nutzung von Docker Hub in Kraft gesetzt. Anonym und kostenlos Docker Hub Benutzer sind auf 100 Container-Pull-Anfragen alle sechs Stunden beschränkt. Wenn Sie von diesen Änderungen betroffen sind, erhalten Sie diese Fehlermeldung: ERROR: toomanyrequests: Too Many Requests. oder You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits..

Diese Beschränkung wirkt sich derzeit nur auf Ihr Unternehmen aus, wenn Sie versuchen, innerhalb von sechs Stunden 100 Notebook-Rezepte zu erstellen, oder wenn Sie in Data Science Workspace auf Spark-Basis basierende Notebooks verwenden, die häufig nach oben oder unten skaliert werden. Dies ist jedoch unwahrscheinlich, da der Cluster, auf dem diese ausgeführt werden, zwei Stunden lang aktiv bleibt, bevor er ausgeschaltet wird. Dadurch wird die Anzahl der Pulle reduziert, die benötigt werden, wenn der Cluster aktiv ist. Wenn Sie einen der oben genannten Fehler erhalten, müssen Sie warten, bis Ihr Docker Grenzwert wird zurückgesetzt.

Für weitere Informationen über Docker Hub Ratenbeschränkungen, besuchen Sie die DockerHub-Dokumentation. Eine Lösung dafür wird in einer späteren Version erarbeitet und erwartet.

Auf dieser Seite