Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services

Amazon Sage Maker bietet mehrere Möglichkeiten, verteilte Datenverarbeitungsjobs mit Apache Spark auszuführen, einem beliebten verteilten Computing-Framework für die Verarbeitung großer Datenmengen.

Sie können Spark-Anwendungen interaktiv ausführen Amazon SageMaker-Studio durch Verbinden SageMaker Studio-Notebooks und interaktive AWS Glue-Sitzungen um Spark-Jobs mit einem serverlosen Cluster auszuführen. Bei interaktiven Sitzungen können Sie Apache Spark oder Ray wählen, um große Datensätze einfach zu verarbeiten, ohne sich um die Clusterverwaltung kümmern zu müssen.

Wenn Sie mehr Kontrolle über die Umgebung benötigen, können Sie alternativ einen vorgefertigten SageMaker Spark-Container verwenden, um Spark-Anwendungen als Batch-Jobs auf einem vollständig verwalteten verteilten Cluster auszuführen Amazon SageMaker-Verarbeitung. Mit dieser Option können Sie mehrere Instanztypen (rechenoptimiert, speicheroptimiert usw.), die Anzahl der Knoten im Cluster und die Clusterkonfiguration auswählen und so eine größere Flexibilität bei der Datenverarbeitung und dem Modelltraining ermöglichen.

Schließlich können Sie Spark-Anwendungen ausführen, indem Sie Studio-Notebooks mit verbinden Amazon EMR Clustern, oder indem Sie Ihren Spark-Cluster darauf ausführen Amazon Elastic Compute-Cloud (Amazon EC2).

Mit all diesen Optionen können Sie Spark-Ereignisprotokolle generieren und speichern, um sie über die webbasierte Benutzeroberfläche zu analysieren, die allgemein als „ Spark-Benutzeroberfläche, der einen Spark-Verlaufsserver ausführt, um den Fortschritt von Spark-Anwendungen zu überwachen, die Ressourcennutzung zu verfolgen und Fehler zu debuggen.

In diesem Beitrag teilen wir a Lösung zum Installieren und Ausführen von Spark History Server auf SageMaker Studio und zum Zugriff auf die Spark-Benutzeroberfläche direkt über die SageMaker Studio-IDE, zum Analysieren von Spark-Protokollen, die von verschiedenen AWS-Diensten (AWS Glue Interactive Sessions, SageMaker Processing Jobs und Amazon EMR) erstellt und in einem gespeichert werden Amazon Simple Storage-Service (Amazon S3) Eimer.

Lösungsüberblick

Die Lösung integriert Spark History Server in die Jupyter Server-App in SageMaker Studio. Dadurch können Benutzer direkt über die SageMaker Studio-IDE auf Spark-Protokolle zugreifen. Der integrierte Spark History Server unterstützt Folgendes:

  • Zugriff auf Protokolle, die von SageMaker Processing Spark-Jobs generiert wurden
  • Zugriff auf Protokolle, die von AWS Glue Spark-Anwendungen generiert wurden
  • Zugriff auf Protokolle, die von selbstverwalteten Spark-Clustern und Amazon EMR generiert wurden

Eine aufgerufene Dienstprogramm-Befehlszeilenschnittstelle (CLI). sm-spark-cli wird auch für die Interaktion mit der Spark-Benutzeroberfläche über das SageMaker Studio-Systemterminal bereitgestellt. Der sm-spark-cli ermöglicht die Verwaltung des Spark History Servers, ohne SageMaker Studio zu verlassen.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Die Lösung besteht aus Shell-Skripten, die die folgenden Aktionen ausführen:

  • Installieren Sie Spark auf dem Jupyter Server für SageMaker Studio-Benutzerprofile oder für einen gemeinsam genutzten SageMaker Studio-Bereich
  • Installieren Sie das sm-spark-cli für ein Benutzerprofil oder einen freigegebenen Bereich

Installieren Sie die Spark-Benutzeroberfläche manuell in einer SageMaker Studio-Domäne

Führen Sie die folgenden Schritte aus, um die Spark-Benutzeroberfläche auf SageMaker Studio zu hosten:

  1. Auswählen Systemendgerät über den SageMaker Studio-Launcher.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

  1. Führen Sie die folgenden Befehle im Systemterminal aus:
curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts
chmod +x install-history-server.sh
./install-history-server.sh

Die Ausführung der Befehle dauert einige Sekunden.

  1. Wenn die Installation abgeschlossen ist, können Sie die Spark-Benutzeroberfläche mithilfe der bereitgestellten Schaltfläche starten sm-spark-cli und greifen Sie über einen Webbrowser darauf zu, indem Sie den folgenden Code ausführen:

sm-spark-cli start s3://DOC-EXAMPLE-BUCKET/<SPARK_EVENT_LOGS_LOCATION>

Der S3-Speicherort, an dem die von SageMaker Processing, AWS Glue oder Amazon EMR erstellten Ereignisprotokolle gespeichert werden, kann beim Ausführen von Spark-Anwendungen konfiguriert werden.

Für SageMaker Studio-Notebooks und AWS Glue Interactive Sessions können Sie den Speicherort des Spark-Ereignisprotokolls direkt vom Notebook aus mithilfe von einrichten sparkmagic Kernel.

Das sparkmagic Der Kernel enthält eine Reihe von Tools für die Interaktion mit Remote-Spark-Clustern über Notebooks. Es bietet Magie (%spark, %sql) Befehle zum Ausführen von Spark-Code, zum Durchführen von SQL-Abfragen und zum Konfigurieren von Spark-Einstellungen wie Executor-Speicher und Kernen.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Für den SageMaker-Verarbeitungsauftrag können Sie den Speicherort des Spark-Ereignisprotokolls direkt über das SageMaker Python SDK konfigurieren.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Weitere Informationen finden Sie in der AWS-Dokumentation:

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Sie können die generierte URL auswählen, um auf die Spark-Benutzeroberfläche zuzugreifen.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Der folgende Screenshot zeigt ein Beispiel der Spark-Benutzeroberfläche.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Sie können den Status des Spark-Verlaufsservers überprüfen, indem Sie Folgendes verwenden: sm-spark-cli status Befehl im Studio System-Terminal.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Sie können den Spark History Server bei Bedarf auch stoppen.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Automatisieren Sie die Spark-UI-Installation für Benutzer in einer SageMaker Studio-Domäne

Als IT-Administrator können Sie die Installation für SageMaker Studio-Benutzer automatisieren, indem Sie a verwenden Lebenszykluskonfiguration. Dies kann für alle Benutzerprofile unter einer SageMaker Studio-Domäne oder für bestimmte Benutzerprofile erfolgen. Sehen Passen Sie Amazon SageMaker Studio mithilfe von Lebenszykluskonfigurationen an für weitere Informationen an.

Sie können daraus eine Lebenszykluskonfiguration erstellen install-history-server.sh Erstellen Sie ein Skript und hängen Sie es an eine vorhandene SageMaker Studio-Domäne an. Die Installation wird für alle Benutzerprofile in der Domäne ausgeführt.

Von einem Terminal, das mit dem konfiguriert ist AWS-Befehlszeilenschnittstelle (AWS CLI) und die entsprechenden Berechtigungen führen Sie die folgenden Befehle aus:

curl -LO https://github.com/aws-samples/amazon-sagemaker-spark-ui/releases/download/v0.1.0/amazon-sagemaker-spark-ui-0.1.0.tar.gz
tar -xvzf amazon-sagemaker-spark-ui-0.1.0.tar.gz cd amazon-sagemaker-spark-ui-0.1.0/install-scripts LCC_CONTENT=`openssl base64 -A -in install-history-server.sh` aws sagemaker create-studio-lifecycle-config --studio-lifecycle-config-name install-spark-ui-on-jupyterserver --studio-lifecycle-config-content $LCC_CONTENT --studio-lifecycle-config-app-type JupyterServer --query 'StudioLifecycleConfigArn' aws sagemaker update-domain --region {YOUR_AWS_REGION} --domain-id {YOUR_STUDIO_DOMAIN_ID} --default-user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "LifecycleConfigArn": "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver", "InstanceType": "system" }, "LifecycleConfigArns": [ "arn:aws:sagemaker:{YOUR_AWS_REGION}:{YOUR_STUDIO_DOMAIN_ID}:studio-lifecycle-config/install-spark-ui-on-jupyterserver" ] }}'

Nach dem Neustart von Jupyter Server werden die Spark-Benutzeroberfläche und die sm-spark-cli wird in Ihrer SageMaker Studio-Umgebung verfügbar sein.

Aufräumen

In diesem Abschnitt zeigen wir Ihnen, wie Sie die Spark-Benutzeroberfläche in einer SageMaker Studio-Domäne entweder manuell oder automatisch bereinigen.

Deinstallieren Sie die Spark-Benutzeroberfläche manuell

Um die Spark-Benutzeroberfläche in SageMaker Studio manuell zu deinstallieren, führen Sie die folgenden Schritte aus:

  1. Auswählen Systemendgerät im SageMaker Studio-Launcher.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

  1. Führen Sie die folgenden Befehle im Systemterminal aus:
cd amazon-sagemaker-spark-ui-0.1.0/install-scripts chmod +x uninstall-history-server.sh
./uninstall-history-server.sh

Deinstallieren Sie die Spark-Benutzeroberfläche automatisch für alle SageMaker Studio-Benutzerprofile

Um die Spark-Benutzeroberfläche in SageMaker Studio für alle Benutzerprofile automatisch zu deinstallieren, führen Sie die folgenden Schritte aus:

  1. Wählen Sie in der SageMaker-Konsole Domains Wählen Sie im Navigationsbereich die SageMaker Studio-Domäne aus.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

  1. Navigieren Sie auf der Seite mit den Domänendetails zu Arbeitsumfeld Tab.
  2. Wählen Sie die Lebenszykluskonfiguration für die Spark-Benutzeroberfläche in SageMaker Studio aus.
  3. Auswählen Trennen.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

  1. Löschen Sie die Jupyter Server-Apps für die SageMaker Studio-Benutzerprofile und starten Sie sie neu.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Zusammenfassung

In diesem Beitrag haben wir eine Lösung vorgestellt, mit der Sie die Spark-Benutzeroberfläche schnell auf SageMaker Studio installieren können. Mit der auf SageMaker gehosteten Spark-Benutzeroberfläche können Teams für maschinelles Lernen (ML) und Datenentwicklung skalierbares Cloud-Computing nutzen, um von überall auf Spark-Protokolle zuzugreifen und diese zu analysieren und ihre Projektabwicklung zu beschleunigen. IT-Administratoren können die Bereitstellung der Lösung in der Cloud standardisieren und beschleunigen und die Verbreitung benutzerdefinierter Entwicklungsumgebungen für ML-Projekte vermeiden.

Der gesamte in diesem Beitrag gezeigte Code ist im verfügbar GitHub-Repository.


Über die Autoren

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Giuseppe Angelo Porcelli ist ein leitender Lösungsarchitekt für maschinelles Lernen für Amazon Web Services. Mit mehreren Jahren Software-Engineering und einem ML-Hintergrund arbeitet er mit Kunden jeder Größe zusammen, um deren geschäftliche und technische Anforderungen zu verstehen und KI- und ML-Lösungen zu entwerfen, die die AWS Cloud und den Amazon Machine Learning-Stack optimal nutzen. Er hat an Projekten in verschiedenen Bereichen gearbeitet, darunter MLOps, Computer Vision und NLP, die eine breite Palette von AWS-Diensten umfassten. In seiner Freizeit spielt Giuseppe gerne Fußball.

Hosten Sie die Spark-Benutzeroberfläche auf Amazon SageMaker Studio | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Bruno Piston ist ein KI/ML-Spezialist für Lösungsarchitekten für AWS mit Sitz in Mailand. Er arbeitet mit Kunden jeder Größe zusammen und hilft ihnen, ihre technischen Anforderungen zu verstehen und KI- und ML-Lösungen zu entwerfen, die die AWS Cloud und den Amazon Machine Learning-Stack optimal nutzen. Sein Fachgebiet umfasst maschinelles Lernen durchgängig, Endustrialisierung maschinellen Lernens und generative KI. Er genießt es, Zeit mit seinen Freunden zu verbringen, neue Orte zu erkunden und zu neuen Zielen zu reisen.

Zeitstempel:

Mehr von AWS Maschinelles Lernen