Wenn Sie die standardmäßige Lebenszykluskonfiguration für Ihre Domäne oder Ihr Benutzerprofil in verwenden Amazon SageMaker-Studio Und verwenden Amazon SageMaker Data Wrangler für die Datenaufbereitung, dann ist dieser Beitrag genau das Richtige für Sie. In diesem Beitrag zeigen wir, wie Sie einen Data Wrangler-Flow erstellen und ihn für die Datenvorbereitung in einer Studio-Umgebung mit einer standardmäßigen Lebenszykluskonfiguration verwenden können.
Data Wrangler ist eine Funktion von Amazon Sage Maker Dadurch können Data Scientists und Ingenieure Daten für Anwendungen des maschinellen Lernens (ML) über eine visuelle Schnittstelle schneller aufbereiten. Die Datenvorbereitung ist ein entscheidender Schritt im ML-Lebenszyklus, und Data Wrangler bietet eine End-to-End-Lösung zum Importieren, Untersuchen, Transformieren, Featuren und Verarbeiten von Daten für ML in einem visuellen Low-Code-Erlebnis. Damit können Sie einfach und schnell eine Verbindung zu AWS-Komponenten wie z Amazon Simple Storage-Service (Amazon S3), Amazonas Athena, Amazon RedShift und AWS Lake-Formation, und externe Quellen wie Snowflake und DataBricks DeltaLake. Data Wrangler unterstützt Standarddatentypen wie CSV, JSON, ORC und Parquet.
Studio-Apps sind interaktive Anwendungen, die die visuelle Benutzeroberfläche, die Codeerstellung und die Ausführung von Studio ermöglichen. App-Typen können entweder Jupyter Server oder Kernel Gateway sein:
- Jupyter-Server – Ermöglicht den Zugriff auf die visuelle Schnittstelle für Studio. Jeder Benutzer in Studio erhält seine eigene Jupyter Server-App.
- Kernel-Gateway – Ermöglicht den Zugriff auf die Codeausführungsumgebung und Kernel für Ihre Studio-Notebooks und -Terminals. Weitere Informationen finden Sie unter Jupyter-Kernel-Gateway.
Lebenszykluskonfigurationen (LCCs) sind Shell-Skripts zur Automatisierung der Anpassung für Ihre Studio-Umgebungen, z. B. das Installieren von JupyterLab-Erweiterungen, das Vorabladen von Datasets und das Einrichten von Quellcode-Repositorys. LCC-Skripts werden durch Studio-Lebenszyklusereignisse ausgelöst, z. B. das Starten eines neuen Studio-Notebooks. Um eine Lebenszykluskonfiguration programmgesteuert als Standard für Ihre Domäne oder Ihr Benutzerprofil festzulegen, können Sie eine neue Ressource erstellen oder eine vorhandene Ressource aktualisieren. Um eine Lebenszykluskonfiguration als Standard zuzuordnen, müssen Sie zuerst eine Lebenszykluskonfiguration erstellen, indem Sie die Schritte in ausführen Erstellen und Zuordnen einer Lebenszykluskonfiguration
Hinweis: Standardkonfigurationen für den Lebenszyklus, die auf Domänenebene eingerichtet wurden, werden von allen Benutzern geerbt, während die auf Benutzerebene eingerichteten auf einen bestimmten Benutzer beschränkt sind. Wenn Sie sowohl Lebenszykluskonfigurationen auf Domänenebene als auch auf Benutzerprofilebene gleichzeitig anwenden, hat die Lebenszykluskonfiguration auf Benutzerprofilebene Vorrang und wird unabhängig davon, welche Lebenszykluskonfiguration auf Domänenebene angewendet wird, auf die Anwendung angewendet. Weitere Informationen finden Sie unter Festlegen von Standardlebenszykluskonfigurationen.
Data Wrangler akzeptiert die standardmäßige Kernel Gateway-Lebenszykluskonfiguration, aber einige der Befehle, die in der standardmäßigen Kernel Gateway-Lebenszykluskonfiguration definiert sind, gelten nicht für Data Wrangler, was dazu führen kann, dass Data Wrangler nicht gestartet werden kann. Der folgende Screenshot zeigt ein Beispiel für eine Fehlermeldung, die Sie möglicherweise erhalten, wenn Sie den Data Wrangler-Flow starten. Dies kann nur bei Standardlebenszykluskonfigurationen und nicht bei Lebenszykluskonfigurationen passieren.
Lösungsüberblick
Kunden, die die standardmäßige Lebenszykluskonfiguration in Studio verwenden, können diesem Beitrag folgen und den bereitgestellten Codeblock innerhalb des Lebenszykluskonfigurationsskripts verwenden, um eine Data Wrangler-App fehlerfrei zu starten.
Richten Sie die standardmäßige Lebenszykluskonfiguration ein
Um eine standardmäßige Lebenszykluskonfiguration einzurichten, müssen Sie sie der hinzufügen DefaultResourceSpec
des entsprechenden App-Typs. Das Verhalten Ihrer Lebenszykluskonfiguration hängt davon ab, ob sie der hinzugefügt wird DefaultResourceSpec
einer Jupyter Server- oder Kernel Gateway-App:
- Jupyter Server-Apps – Beim Hinzufügen zum
DefaultResourceSpec
einer Jupyter Server-App wird das standardmäßige Lebenszyklus-Konfigurationsskript automatisch ausgeführt, wenn sich der Benutzer zum ersten Mal bei Studio anmeldet oder Studio neu startet. Sie können dies verwenden, um einmalige Einrichtungsaktionen für die Studio-Entwicklerumgebung zu automatisieren, z. B. das Installieren von Notebook-Erweiterungen oder das Einrichten eines GitHub-Repositorys. Ein Beispiel dafür finden Sie unter Passen Sie Amazon SageMaker Studio mithilfe von Lebenszykluskonfigurationen an. - Kernel Gateway-Apps – Beim Hinzufügen zum
DefaultResourceSpec
einer Kernel Gateway-App wählt Studio standardmäßig das Lebenszyklus-Konfigurationsskript aus dem Studio-Launcher aus. Sie können ein Notebook oder Terminal mit dem Standardskript starten oder ein anderes aus der Liste der Lebenszykluskonfigurationen auswählen.
Eine standardmäßige Kernel Gateway-Lebenszykluskonfiguration, die in angegeben ist DefaultResourceSpec
gilt für alle Kernel Gateway-Images in der Studio-Domäne, es sei denn, Sie wählen ein anderes Skript aus der im Studio-Launcher angezeigten Liste aus.
Wenn Sie mit Lebenszykluskonfigurationen für Studio arbeiten, erstellen Sie eine Lebenszykluskonfiguration und hängen sie entweder an Ihre Studio-Domäne oder Ihr Benutzerprofil an. Anschließend können Sie eine Jupyter Server- oder Kernel Gateway-Anwendung starten, um die Lebenszykluskonfiguration zu verwenden.
Die folgende Tabelle fasst diese Fehler zusammen, die beim Starten einer Data Wrangler-Anwendung mit standardmäßigen Lebenszykluskonfigurationen auftreten können.
Ebene, auf der sich die Lebenszykluskonfiguration befindet Wird angewandt |
Data Wrangler-Flow erstellen Funktioniert (oder) Fehler |
Workaround |
Domain | Fehler bei fehlerhafter Anfrage | Wenden Sie das Skript an (siehe unten) |
Benutzerprofil | Fehler bei fehlerhafter Anfrage | Wenden Sie das Skript an (siehe unten) |
Anwendung | Funktioniert – Kein Problem | Nicht erforderlich |
Wenn Sie die mit Studio und Data Wrangler (Kernel Gateway-App) verknüpfte Standardlebenszykluskonfiguration verwenden, kann es zu einem Fehler der Kernel Gateway-App kommen. In diesem Beitrag zeigen wir, wie Sie die standardmäßige Lebenszykluskonfiguration richtig festlegen, um ausgeführte Befehle in einer Data Wrangler-Anwendung auszuschließen, damit Sie nicht auf Kernel Gateway-App-Fehler stoßen.
Angenommen, Sie möchten eine installieren Git-Clone-Repo -Skript als standardmäßige Lebenszykluskonfiguration, die automatisch ein Git-Repository im Home-Ordner des Benutzers auscheckt, wenn der Jupyter-Server gestartet wird. Sehen wir uns die einzelnen Szenarien zum Anwenden einer Lebenszykluskonfiguration (Studio-Domäne, Benutzerprofil oder Anwendungsebene) an.
Wenden Sie die Lebenszykluskonfiguration auf Ebene der Studio-Domäne oder des Benutzerprofils an
Führen Sie die Schritte in diesem Abschnitt aus, um die standardmäßige Kernel Gateway-Lebenszykluskonfiguration auf der Ebene der Studio-Domäne oder des Benutzerprofils anzuwenden. Wir beginnen mit Anweisungen für die Benutzerprofilebene.
In Ihr Lebenszyklus-Konfigurationsskript müssen Sie den folgenden Codeblock einfügen, der die Data Wrangler Kernel Gateway-App überprüft und überspringt:
#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'
<remainder of LCC here within in else block – this contains some pip install, etc>
fi
Verwenden wir zum Beispiel die folgendes Skript als unser Original (beachten Sie, dass der Ordner zum Klonen des Repos geändert wird /root from /home/sagemaker-user
):
# Clones a git repository into the user's home folder
#!/bin/bash set -eux # Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git" git -C /root clone $REPOSITORY_URL
Das neue modifizierte Skript sieht wie folgt aus:
#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler' # Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git" git -C /root clone $REPOSITORY_URL fi
Sie können dieses Skript speichern unter git_command_test.sh
.
Jetzt führen Sie eine Reihe von Befehlen in Ihrem Terminal oder Ihrer Eingabeaufforderung aus. Sie sollten die konfigurieren AWS-Befehlszeilenschnittstelle (AWS CLI), um mit AWS zu interagieren. Wenn Sie die AWS CLI nicht eingerichtet haben, finden Sie weitere Informationen unter Konfigurieren der AWS CLI.
- Konvertieren Sie Ihre
git_command_test.sh
Datei in das Base64-Format. Diese Anforderung verhindert Fehler aufgrund der Codierung von Abständen und Zeilenumbrüchen. - Erstellen Sie eine Studio-Lebenszykluskonfiguration. Der folgende Befehl erstellt eine Lebenszykluskonfiguration, die beim Start einer zugehörigen Kernel Gateway-App ausgeführt wird:
- Verwenden Sie den folgenden API-Aufruf, um ein neues Benutzerprofil mit einer zugehörigen Lebenszykluskonfiguration zu erstellen:
Wenn Sie alternativ eine Studio-Domäne erstellen möchten, um Ihre Lebenszykluskonfiguration auf Domänenebene zuzuordnen, oder das Benutzerprofil oder die Domäne aktualisieren möchten, können Sie die Schritte in befolgen Festlegen von Standardlebenszykluskonfigurationen.
- Jetzt können Sie Ihre Studio-App über die SageMaker-Systemsteuerung starten.
- In Ihrer Studio-Umgebung auf der Reichen Sie das Menü, wählen Sie Neu und Daten-Wrangler-Flow.Der neue Data Wrangler-Flow sollte ohne Probleme geöffnet werden.
- Um den Git-Klon zu validieren, können Sie einen neuen Launcher in Studio öffnen.
- Der Notebooks und Rechenressourcen, wählen Sie das Python 3-Notizbuch und die Daten Wissenschaft SageMaker-Image, um Ihr Skript als Ihr standardmäßiges Lebenszyklus-Konfigurationsskript zu starten.
Sie können das geklonte Git sehen /root
im folgenden Screenshot.
Wir haben die standardmäßige Kernel-Lebenszykluskonfiguration erfolgreich auf Benutzerprofilebene angewendet und einen Data Wrangler-Fluss erstellt. Für die Konfiguration auf Studio-Domänenebene besteht die einzige Änderung darin, dass Sie anstelle der Erstellung eines Benutzerprofils den ARN der Lebenszykluskonfiguration in a übergeben Domäne erstellen Anruf.
Wenden Sie die Lebenszykluskonfiguration auf Anwendungsebene an
Wenn Sie die standardmäßige Kernel Gateway-Lebenszykluskonfiguration auf Anwendungsebene anwenden, treten keine Probleme auf, da Data Wrangler die auf Anwendungsebene angewendete Lebenszykluskonfiguration überspringt.
Zusammenfassung
In diesem Beitrag haben wir gezeigt, wie Sie Ihre standardmäßige Lebenszykluskonfiguration für Studio ordnungsgemäß konfigurieren, wenn Sie Data Wrangler für Datenvorbereitungs- und Visualisierungsanforderungen verwenden.
Zusammenfassend, wenn Sie die Standardeinstellung verwenden müssen Lebenszykluskonfiguration für Studio Um die Anpassung für Ihre Studio-Umgebungen zu automatisieren und Data Wrangler für die Datenvorbereitung zu verwenden, können Sie die standardmäßige Kernel Gateway-Lebenszykluskonfiguration auf Benutzerprofil- oder Studio-Domänenebene anwenden, wobei der entsprechende Codeblock in Ihrer Lebenszykluskonfiguration enthalten ist, sodass die standardmäßige Lebenszykluskonfiguration sie überprüft und überspringt die Data Wrangler Kernel Gateway-App.
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Dokumentation zur Lebenszykluskonfiguration von Amazon SageMaker Studio
- Amazon SageMaker-Studio
- Repository mit Beispielskripts für die Lebenszykluskonfiguration
- Debuggen von Lebenszykluskonfigurationen
Über die Autoren
Rajakumar Sampathkumar ist Principal Technical Account Manager bei AWS, berät Kunden bei der Ausrichtung von Unternehmen und Technologien und unterstützt die Neuerfindung ihrer Cloud-Betriebsmodelle und -prozesse. Er interessiert sich leidenschaftlich für Cloud und maschinelles Lernen. Raj ist auch ein Spezialist für maschinelles Lernen und arbeitet mit AWS-Kunden zusammen, um ihre AWS-Workloads und -Architekturen zu entwerfen, bereitzustellen und zu verwalten.
Vicky Zhang ist Softwareentwicklungsingenieur bei Amazon SageMaker. Problemlösung liegt ihr am Herzen. In ihrer Freizeit schaut sie gerne Kriminalfilme und spielt Badminton.
Raul Nabera ist Data Analytics Consultant bei AWS Professional Services. Seine aktuelle Arbeit konzentriert sich darauf, Kunden zu ermöglichen, ihre Daten- und Machine-Learning-Workloads auf AWS aufzubauen. In seiner Freizeit spielt er gerne Cricket und Volleyball.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/use-amazon-sagemaker-data-wrangler-in-amazon-sagemaker-studio-with-a-default-lifecycle-configuration/
- "
- 100
- a
- Über uns
- Zugang
- Konto
- Aktionen
- hinzugefügt
- Alle
- Amazon
- Analytik
- Bienen
- App
- anwendbar
- Anwendung
- Anwendungen
- angewandt
- Jetzt bewerben
- Anwendung
- angemessen
- Apps
- Partnerschaftsräte
- damit verbundenen
- automatisieren
- Im Prinzip so, wie Sie es von Google Maps kennen.
- AWS
- weil
- unten
- Blockieren
- Grenze
- geht kaputt
- bauen
- rufen Sie uns an!
- Verursachen
- Übernehmen
- Schecks
- Auswählen
- Cloud
- Code
- abschließen
- Komponenten
- Berechnen
- Konfiguration
- Vernetz Dich
- Berater
- enthält
- Smartgeräte App
- erstellen
- erstellt
- schafft
- Erstellen
- Kricket
- wichtig
- Strom
- Kunden
- technische Daten
- Datenanalyse
- zeigen
- hängt
- einsetzen
- Design
- Entwickler:in / Unternehmen
- Entwicklung
- anders
- Domain
- jeder
- leicht
- Echo
- ermöglichen
- ermöglicht
- ermöglichen
- End-to-End
- Ingenieur
- Ingenieure
- Arbeitsumfeld
- Veranstaltungen
- Beispiel
- vorhandenen
- ERFAHRUNGEN
- ERKUNDEN
- Erweiterungen
- Scheitern
- beschleunigt
- Vorname
- erstes Mal
- Fluss
- konzentriert
- folgen
- Folgende
- Format
- für
- Tor
- Git
- GitHub
- passieren
- Höhe
- hier
- Startseite
- Ultraschall
- Hilfe
- HTTPS
- Image
- Bilder
- das
- inklusive
- Information
- installieren
- Instanz
- interaktive
- Schnittstelle
- Probleme
- IT
- starten
- Start
- lernen
- Niveau
- Line
- Liste
- aussehen
- Maschine
- Maschinelles Lernen
- MACHT
- verwalten
- Manager
- könnte
- ML
- für
- mehr
- Filme
- Notizbuch
- XNUMXh geöffnet
- Betrieb
- Original
- besitzen
- Tafel
- leidenschaftlich
- spielend
- Danach
- Principal
- Aufgabenstellung:
- Prozessdefinierung
- anpassen
- Professionell
- Profil
- bietet
- Bereitstellung
- schnell
- Quelle
- Anforderung
- Voraussetzungen:
- Ressourcen
- Downloads
- Führen Sie
- Laufen
- gleich
- Speichern
- Wissenschaft
- Wissenschaftler
- Modellreihe
- Leistungen
- kompensieren
- Einstellung
- Setup
- Schale
- erklären
- Einfacher
- So
- Software
- Software-Entwicklung
- solide
- Lösung
- Auflösung
- einige
- Quellcode
- Spezialist
- spezifisch
- Standard
- Anfang
- beginnt
- Lagerung
- Studio Adressen
- Erfolgreich
- Unterstützung
- Unterstützt
- Technische
- Terminal
- Test
- Das
- Zeit
- Transformieren
- ausgelöst
- Typen
- für
- Aktualisierung
- -
- Nutzer
- Visualisierung
- Was
- ob
- .
- ohne
- Arbeiten
- Werk
- Ihr