Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie konfiguriere ich SageMaker AI-Notebook-Instances für die Verwendung interaktiver AWS Glue-Sitzungen, Sparkmagic-Kernel oder PySparkProcessor zur Ausführung Big Data-Workloads?
Ich möchte eine Amazon SageMaker AI-Notebook-Instance so konfigurieren, dass sie interaktive AWS Glue-Sitzungen, PySparkProcessor- oder Sparkmagic-Kernel zur Ausführung von Big-Data-Workloads verwendet.
Lösung
Um eine SageMaker AI-Notebook-Instance für die Ausführung von Spark- und PySpark-Workloads zu konfigurieren, schließe eine der folgenden Auflösungen ab.
Interaktive AWS Glue-Sitzungen für Notebook-Instances konfigurieren
Für eine Serverless-Option zur Ausführung von Apache Spark- und PySpark-Workloads konfiguriere interaktive AWS Glue-Sitzungen für deine Notebook-Instances. Wenn du die Notebook-Instance startest, erstellt die interaktive Sitzung einen PySpark-Kernel und einen Spark-Kernel. Du kannst dann einen der installierten Kernel auf der Registerkarte Jupyter- oder JupyterLab-Anwendungs-Launcher verwenden.
Gewähre Berechtigungen für interaktive AWS Glue-Sitzungen
Führe die folgenden Schritte aus:
- Öffne die AWS Identity and Access Management (IAM)-Konsole.
- Wähle im Navigationsbereich unter Zugriffsverwaltung die Option Rollen aus.
- Wähle die Ausführungsrolle aus, die du für deine SageMaker AI-Notebook-Instance verwendest.
- Erstelle die folgende benutzerdefinierte Inline-IAM-Richtlinie im JSON-Editor:
Hinweis: Ersetze YOUR-IAM-ROLE-ARN durch den Amazon-Ressourcennamen (ARN) der IAM-Ausführungsrolle deiner Notebook-Instance.{ "Version": "2012-10-17", "Statement": [ { "Sid": "uniqueStatementId", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "sts:GetCallerIdentity" ], "Resource": "YOUR-IAM-ROLE-ARN" } ] } - Um der IAM-Rolle AWS Glue-Berechtigungen zu gewähren, wähle im Dropdownmenü Berechtigungen hinzufügen die Option Richtlinien anhängen aus. Suche dann nach AWSGlueSessionUserRestrictedServiceRole und wähle Richtlinien anhängen aus.
- Damit AWS Glue die IAM-Rolle übernehmen kann, wähle den Tab Vertrauensbeziehungen und füge dann glue.amazonaws.com zur Serviceliste hinzu. Vergewissere dich, dass deine Vertrauensrichtlinie dem folgenden Beispiel ähnelt:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com", "glue.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Interaktive AWS Glue-Sitzungen für Notebook-Instances installieren
Führe die folgenden Schritte aus:
-
Um die AWS Glue-Kernel beim Startup automatisch zu installieren, erstelle das folgende Lifecycle-Konfigurationsskript:
#!/bin/bash set -e # Start conda environment sudo -u ec2-user -i <<'EOF' # Activate conda default environment source /home/ec2-user/anaconda3/bin/activate JupyterSystemEnv # Install/upgrade packages for boto3 and aws-glue-sessions pip3 install --upgrade jupyter boto3 aws-glue-sessions echo "AWS Glue Sessions Installed Successfully" # Install Glue kernels install-glue-kernels echo "Glue Kernels Installed Successfully" # Deactivate conda environment conda deactivate EOF # Ensure script reports success echo "Lifecycle configuration complete!" systemctl restart jupyter-server sudo touch /home/ec2-user/glue_ready -
Navigiere zu deiner Notebook-Instance und bestätige dann, dass sich die Instance nicht im InService-Status befindet.
-
Um das Lifecycle-Konfigurationsskript anzuhängen, wähle Notebook-Instance-Einstellungen und dann Bearbeiten aus.
-
Wähle unter Zusätzliche Konfiguration dein Lifecycle-Konfigurationsskript aus der Dropdownliste Lifecycle-Konfiguration aus.
-
Wähle Notebook-Instance aktualisieren aus.
Hinweis: Die Aktualisierung der Notebook-Instance kann mehrere Minuten dauern. -
Starte die Notebook-Instance.
-
Öffne JupyterLab und wähle dann die Registerkarte Launcher.
-
Wähle entweder den AWS Glue Spark- oder den AWS Glue PySpark-Kernel, um deine Daten-Workloads auszuführen.
**Hinweis:**Nachdem du deinen Workload bearbeitet hast, fahre den Kernel in JupyterLab herunter, damit in AWS Glue keine weiteren Gebühren anfallen.
Weitere Informationen zur Konfiguration deiner interaktiven AWS Glue-Sitzung findest du unter Konfiguration interaktiver AWS Glue-Sitzungen für Jupyter- und AWS Glue Studio-Notebooks.
Konfiguriere PySparkProcessor für die Verarbeitung von SageMaker-AI-Jobs
Du kannst PySparkProcessor verwenden, um PySpark-Skripte als Verarbeitungsjobs auszuführen. Weitere Informationen findest du unter PySparkProcessor auf der SageMaker „Read the Docs“-Website.
**Hinweis:**Der PySparkProcessor verwendet vorgefertigte SageMaker AI Spark-Container. Du kannst nur die Argumente framework_version, py_version und container_version konfigurieren.
Zum Beispiel findest du Notebooks, die du verwenden kannst, unter sagemaker-spark-processing.ipynb auf der GitHub-Website.
Konfiguriere einen Amazon EMR-Backend-Cluster für SageMaker AI Sparkmagic-Kernel
Sparkmagic-Kernel benötigen einen Amazon EMR-Backend-Cluster. Wenn du Sparkmagic-Kernel ohne den Amazon EMR-Backend-Cluster verwendest, erhältst du die folgende Fehlermeldung:
„The code failed because of a fatal error: Error sending http request and maximum retry encountered...“
Informationen zum Einrichten eines Spark-Clusters, der auf Amazon EMR ausgeführt wird, um eine Verbindung zu deiner Notebook-Instance herzustellen, findest du unter Erstellen von Amazon SageMaker AI-Notebooks, die von Spark unterstützt werden, in Amazon EMR.
Nachdem du die Verbindung bestätigt hast, führe den folgenden Befehl aus, um die sagemaker-studio-analytics-extension zu aktualisieren:
pip install --upgrade sagemaker-studio-analytics-extension
Die neuesten Versionen von sagemaker-studio-analytics-extension überschreiben das standardmäßige Zeitlimit für Serversitzungen von 60 Sekunden auf 120 Sekunden. Weitere Informationen findest du unter Problembehandlung bei hängenden oder fehlgeschlagenen Livy-Verbindungen.
Nachdem du die Erweiterung aktualisiert hast, starte ein Jupyter-Notebook mit einem PySpark-Kernel und teste die Verbindung. Wenn die Verbindung erfolgreich ist, wird eine Meldung angezeigt, die der folgenden ähnelt:
„Starting Spark application … SparkSession available as 'spark' “
Nachdem du eine Verbindung hergestellt hast, importiere PySpark, um deine Workloads auszuführen.
Ähnliche Informationen
- Tags
- Amazon SageMaker
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 7 Monaten
AWS OFFICIALAktualisiert vor 7 Monaten