AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Wie behebe ich den Fehler ModuleNotFoundError auf einem SageMaker-Notebook, auf dem der Sparkmagic-Kernel ausgeführt wird?
Ich möchte den Sparkmagic (PySpark)-Kernel verwenden, um eine Amazon SageMaker-Notebook-Instance auszuführen. Ich habe pip verwendet, um die Python-Bibliotheken zu installieren, aber ich habe die folgende Fehlermeldung erhalten: „Modul nicht gefunden“ Fehler: Kein Modul mit dem Namen my_module_name.“
Kurzbeschreibung
Wenn du den Sparkmagic-Kernel verwendest, fungiert das SageMaker-Notebook als Schnittstelle für die Apache Spark-Sitzung. Die Apache Spark-Sitzung wird auf einem Amazon EMR-Remote-Cluster oder einem AWS Glue-Entwicklungsendpunkt ausgeführt. Wenn du pip verwendest, um die Python-Bibliothek auf der Notebook-Instance zu installieren, ist die Bibliothek nur für die lokale Notebook-Instance verfügbar. Um ModuleNotFoundError zu beheben, installiere die Bibliothek auf dem AWS Glue-Entwicklungsendpunkt oder auf jedem Knoten des EMR-Clusters.
Hinweis: Wenn der Code, der die Bibliothek verwendet, nicht rechenintensiv ist, kannst du den lokalen Modus (%%local) verwenden. Im lokalen Modus wird die Zelle nur auf der lokalen Notebook-Instance ausgeführt. Wenn du den lokalen Modus verwendest, musst du die Bibliothek nicht auf dem Remote-Cluster oder dem Entwicklungsendpunkt installieren.
Lösung
Eine Bibliothek auf einem AWS Glue-Entwicklungsendpunkt installieren
Informationen zur Installation von Bibliotheken auf einem Entwicklungsendpunkt von AWS Glue findest du unter Laden von Python-Bibliotheken in einen Entwicklungsendpunkt.
Eine Bibliothek auf einem Amazon EMR-Cluster installieren
Hinweis: Ersetze in den folgenden Befehlen Example-Library durch die Bibliothek, die du verwenden möchtest.
Um Bibliotheken auf einem Amazon EMR-Remote-Cluster zu installieren, verwende beim Erstellen des Clusters eine Bootstrap-Aktion. Wenn du bereits einen EMR-Cluster mit der Amazon SageMaker-Notebook-Instance verbunden hast, installiere die Bibliothek manuell auf allen Clusterknoten.
Führe die folgenden Schritte aus:
-
Verwende SSH, um eine Verbindung zum Primärknoten herzustellen.
-
Bibliothek installieren:
sudo python -m pip install pandas -
Vergewissere dich, dass das Modul erfolgreich installiert wurde:
python -c "import Example-library as pd; print(pd.__version__)" -
Öffne die Amazon SageMaker-Notebook-Instance und starte dann den Kernel neu.
-
Um zu überprüfen, ob die Bibliothek funktioniert, führe einen Befehl aus, der die Bibliothek benötigt z. B. den Folgenden:
pdf = spark.sql("show databases").toExample-library() -
Verwende SSH, um eine Verbindung zu den anderen Clusterknoten herzustellen und installiere dann die Bibliothek auf jedem Knoten.
Lokalen Modus verwenden
Wenn du den Code nicht auf dem Remote-Cluster oder Entwicklungsendpunkt ausführen musst, verwende die lokale Notebook-Instance. Installiere beispielsweise matplotlib nicht auf jedem Knoten des Spark-Clusters. Verwende stattdessen den lokalen Modus (%%local), um die Zelle auf der lokalen Notebook-Instanz auszuführen.
Hinweis: Ersetze in den folgenden Befehlen die Beispielvariablen durch deine Variablen.
Gehe wie folgt vor, um Ergebnisse in eine lokale Variable zu exportieren und den Code im lokalen Modus auszuführen:
-
Exportiere das Ergebnis in eine lokale Variable:
%%sql -o query1SELECT 1, 2, 3 -
Führe den Code lokal aus:
%%localprint(len(query1))
Um SageMakeEstimator in einer Spark-Pipeline zu verwenden, führe eine lokale Spark-Sitzung aus, um die Daten zu ändern. Verwende dann die SageMaker-Spark-Bibliothek, um zu trainieren und Vorhersagen zu treffen. Weitere Informationen findest du unter sagemaker-spark im GitHub-Repository von AWS-Übungen.
Ein Beispiel-Notebook findest du unter pyspark_mnist_kmeans im GitHub-Repository von AWS-Übungen. Das Beispiel-Notebook verwendet den conda_python3-Kernel, dass nicht von einem EMR-Cluster unterstützt wird. Erstelle für Jobs mit hoher Arbeitslast einen Remote-Spark-Cluster und verbinde den Cluster dann mit der Notebook-Instance.
Ähnliche Informationen
Verwende Apache Spark mit Amazon SageMaker
Erstelle Amazon SageMaker-Notebooks, die von Spark unterstützt werden, in Amazon EMR
- Tags
- Amazon SageMaker
- Sprache
- Deutsch
Ähnliche Videos

