Si vous utilisez la configuration du cycle de vie par défaut pour votre domaine ou votre profil utilisateur dans Amazon SageMakerStudio et utilise Gestionnaire de données Amazon SageMaker pour la préparation des données, alors ce poste est pour vous. Dans cet article, nous montrons comment vous pouvez créer un flux Data Wrangler et l'utiliser pour la préparation des données dans un environnement Studio avec une configuration de cycle de vie par défaut.
Data Wrangler est une capacité de Amazon Sage Maker Cela permet aux scientifiques et aux ingénieurs des données de préparer plus rapidement les données pour les applications d'apprentissage automatique (ML) via une interface visuelle. La préparation des données est une étape cruciale du cycle de vie ML, et Data Wrangler fournit une solution de bout en bout pour importer, explorer, transformer, caractériser et traiter les données pour ML dans une expérience visuelle et low-code. Il vous permet de vous connecter facilement et rapidement aux composants AWS tels que Service de stockage simple Amazon (Amazon S3), Amazone Athéna, Redshift d'Amazonet Formation AWS Lake, et des sources externes telles que Snowflake et DataBricks DeltaLake. Data Wrangler prend en charge les types de données standard tels que CSV, JSON, ORC et Parquet.
Les applications Studio sont des applications interactives qui activent l'interface visuelle, la création de code et l'expérience d'exécution de Studio. Les types d'application peuvent être Jupyter Server ou Kernel Gateway :
- Serveur Jupyter – Permet d'accéder à l'interface visuelle de Studio. Chaque utilisateur de Studio obtient sa propre application Jupyter Server.
- Passerelle du noyau – Permet d'accéder à l'environnement d'exécution de code et aux noyaux pour vos ordinateurs portables et terminaux Studio. Pour plus d'informations, voir Passerelle du noyau Jupyter.
Configurations du cycle de vie (LCC) sont des scripts shell permettant d'automatiser la personnalisation de vos environnements Studio, comme l'installation d'extensions JupyterLab, le préchargement d'ensembles de données et la configuration de référentiels de code source. Les scripts LCC sont déclenchés par des événements du cycle de vie de Studio, tels que le démarrage d'un nouveau bloc-notes Studio. Pour définir par programmation une configuration de cycle de vie comme configuration par défaut pour votre domaine ou votre profil utilisateur, vous pouvez créer une nouvelle ressource ou mettre à jour une ressource existante. Pour associer une configuration de cycle de vie par défaut, vous devez d'abord créer une configuration de cycle de vie en suivant les étapes de Création et association d'une configuration de cycle de vie
Remarque : les configurations de cycle de vie par défaut configurées au niveau du domaine sont héritées par tous les utilisateurs, tandis que celles configurées au niveau de l'utilisateur sont limitées à un utilisateur spécifique. Si vous appliquez simultanément des configurations de cycle de vie au niveau du domaine et au niveau du profil utilisateur, la configuration du cycle de vie au niveau du profil utilisateur est prioritaire et est appliquée à l'application, quelle que soit la configuration du cycle de vie appliquée au niveau du domaine. Pour plus d'informations, voir Définition des configurations de cycle de vie par défaut.
Data Wrangler accepte la configuration par défaut du cycle de vie de la passerelle Kernel, mais certaines des commandes définies dans la configuration par défaut du cycle de vie de la passerelle Kernel ne s'appliquent pas à Data Wrangler, ce qui peut entraîner l'échec du démarrage de Data Wrangler. La capture d'écran suivante montre un exemple de message d'erreur que vous pourriez recevoir lors du lancement du flux Data Wrangler. Cela peut se produire uniquement avec les configurations de cycle de vie par défaut et non avec les configurations de cycle de vie.
Vue d'ensemble de la solution
Les clients utilisant la configuration du cycle de vie par défaut dans Studio peuvent suivre ce post et utiliser le bloc de code fourni dans le script de configuration du cycle de vie pour lancer une application Data Wrangler sans aucune erreur.
Configurer la configuration du cycle de vie par défaut
Pour définir une configuration de cycle de vie par défaut, vous devez l'ajouter au DefaultResourceSpec
du type d'application approprié. Le comportement de votre configuration de cycle de vie dépend de son ajout ou non au DefaultResourceSpec
d'une application Jupyter Server ou Kernel Gateway :
- Applications Jupyter Server – Lorsqu'il est ajouté à la
DefaultResourceSpec
d'une application Jupyter Server, le script de configuration du cycle de vie par défaut s'exécute automatiquement lorsque l'utilisateur se connecte à Studio pour la première fois ou redémarre Studio. Vous pouvez l'utiliser pour automatiser des actions de configuration uniques pour l'environnement de développement Studio, telles que l'installation d'extensions de bloc-notes ou la configuration d'un référentiel GitHub. Pour un exemple de ceci, voir Personnaliser Amazon SageMaker Studio à l'aide des configurations de cycle de vie. - Applications de la passerelle du noyau – Lorsqu'il est ajouté à la
DefaultResourceSpec
d'une application Kernel Gateway, Studio sélectionne par défaut le script de configuration du cycle de vie à partir du lanceur Studio. Vous pouvez lancer un bloc-notes ou un terminal avec le script par défaut ou en choisir un autre dans la liste des configurations de cycle de vie.
Une configuration de cycle de vie Kernel Gateway par défaut spécifiée dans DefaultResourceSpec
s'applique à toutes les images Kernel Gateway du domaine Studio, sauf si vous choisissez un script différent dans la liste présentée dans le lanceur Studio.
Lorsque vous travaillez avec des configurations de cycle de vie pour Studio, vous créez une configuration de cycle de vie et l'attachez à votre domaine Studio ou à votre profil utilisateur. Vous pouvez ensuite lancer une application Jupyter Server ou Kernel Gateway pour utiliser la configuration du cycle de vie.
Le tableau suivant résume ces erreurs que vous pouvez rencontrer lors du lancement d'une application Data Wrangler avec des configurations de cycle de vie par défaut.
Niveau auquel la configuration du cycle de vie Est appliqué |
Créer un flux Data Wrangler Fonctionne (ou) Erreur |
Solution |
Domaine | Erreur de demande incorrecte | Appliquer le script (voir ci-dessous) |
Profil de l'utilisateur | Erreur de demande incorrecte | Appliquer le script (voir ci-dessous) |
Application | Fonctionne—Pas de problème | Pas nécessaire |
Lorsque vous utilisez la configuration de cycle de vie par défaut associée à Studio et Data Wrangler (application Kernel Gateway), vous pouvez rencontrer un échec de l'application Kernel Gateway. Dans cet article, nous montrons comment définir correctement la configuration du cycle de vie par défaut pour exclure les commandes en cours d'exécution dans une application Data Wrangler afin que vous ne rencontriez pas l'échec de l'application Kernel Gateway.
Supposons que vous vouliez installer un git-clone-dépôt script comme configuration de cycle de vie par défaut qui extrait automatiquement un référentiel Git sous le dossier de départ de l'utilisateur au démarrage du serveur Jupyter. Examinons chaque scénario d'application d'une configuration de cycle de vie (domaine Studio, profil utilisateur ou niveau d'application).
Appliquer la configuration du cycle de vie au niveau du domaine Studio ou du profil utilisateur
Pour appliquer la configuration du cycle de vie Kernel Gateway par défaut au niveau du domaine Studio ou du profil utilisateur, suivez les étapes de cette section. Nous commençons par des instructions pour le niveau de profil utilisateur.
Dans votre script de configuration du cycle de vie, vous devez inclure le bloc de code suivant qui vérifie et ignore l'application Data Wrangler Kernel Gateway :
#!/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
Par exemple, utilisons le script suivant comme notre original (notez que le dossier pour cloner le dépôt est changé en /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
Le nouveau script modifié ressemble à ceci :
#!/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
Vous pouvez enregistrer ce script sous git_command_test.sh
.
Maintenant, vous exécutez une série de commandes dans votre terminal ou votre invite de commande. Vous devez configurer le Interface de ligne de commande AWS (AWS CLI) pour interagir avec AWS. Si vous n'avez pas configuré l'AWS CLI, reportez-vous à Configuration de l'AWS CLI.
- Convertissez votre
git_command_test.sh
fichier au format Base64. Cette exigence évite les erreurs dues au codage des espacements et des sauts de ligne. - Créez une configuration de cycle de vie Studio. La commande suivante crée une configuration de cycle de vie qui s'exécute au lancement d'une application Kernel Gateway associée :
- Utilisez l'appel d'API suivant pour créer un nouveau profil utilisateur avec une configuration de cycle de vie associée :
Sinon, si vous souhaitez créer un domaine Studio pour associer votre configuration de cycle de vie au niveau du domaine, ou mettre à jour le profil utilisateur ou le domaine, vous pouvez suivre les étapes de Définition des configurations de cycle de vie par défaut.
- Vous pouvez maintenant lancer votre application Studio à partir du panneau de configuration SageMaker.
- Dans votre environnement Studio, sur le Déposez votre dernière attestation menu, choisissez Nouveauté ainsi que Flux de Wrangler de données.Le nouveau flux Data Wrangler devrait s'ouvrir sans aucun problème.
- Pour valider le clone Git, vous pouvez ouvrir un nouveau Launcher dans Studio.
- Sous Blocs-notes et ressources de calcul, choisissez le bloc-notes Python 3 et le Sciences des données Image SageMaker pour démarrer votre script en tant que script de configuration du cycle de vie par défaut.
Vous pouvez voir le Git cloné vers /root
dans la capture d'écran suivante.
Nous avons appliqué avec succès la configuration par défaut du cycle de vie du noyau au niveau du profil utilisateur et créé un flux Data Wrangler. Pour configurer au niveau du domaine Studio, le seul changement est qu'au lieu de créer un profil utilisateur, vous transmettez l'ARN de la configuration du cycle de vie dans un créer-domaine appel.
Appliquer la configuration du cycle de vie au niveau de l'application
Si vous appliquez la configuration du cycle de vie Kernel Gateway par défaut au niveau de l'application, vous n'aurez aucun problème car Data Wrangler ignore la configuration du cycle de vie appliquée au niveau de l'application.
Conclusion
Dans cet article, nous avons montré comment configurer correctement votre configuration de cycle de vie par défaut pour Studio lorsque vous utilisez Data Wrangler pour les exigences de préparation et de visualisation des données.
Pour résumer, si vous devez utiliser la valeur par défaut configuration du cycle de vie pour Studio pour automatiser la personnalisation de vos environnements Studio et utiliser Data Wrangler pour la préparation des données, vous pouvez appliquer la configuration par défaut du cycle de vie de la passerelle Kernel au niveau du profil utilisateur ou du domaine Studio avec le bloc de code approprié inclus dans votre configuration du cycle de vie afin que la configuration du cycle de vie par défaut le vérifie et ignore l'application Data Wrangler Kernel Gateway.
Pour plus d'informations, consultez les ressources suivantes:
- Documentation de configuration du cycle de vie d'Amazon SageMaker Studio
- Amazon SageMakerStudio
- Référentiel d'exemples de scripts de configuration du cycle de vie
- Débogage des configurations de cycle de vie
À propos des auteurs
Rajakumar Sampathkumar est responsable de compte technique principal chez AWS, fournissant des conseils aux clients sur l'alignement des technologies commerciales et soutenant la réinvention de leurs modèles et processus d'exploitation du cloud. Il est passionné par le cloud et l'apprentissage automatique. Raj est également un spécialiste de l'apprentissage automatique et travaille avec les clients AWS pour concevoir, déployer et gérer leurs charges de travail et architectures AWS.
Vicky Zhang est ingénieur en développement logiciel chez Amazon SageMaker. Elle est passionnée par la résolution de problèmes. Dans ses temps libres, elle aime regarder des films policiers et jouer au badminton.
Rahul Nabera est consultant en analyse de données dans les services professionnels AWS. Son travail actuel vise à permettre aux clients de créer leurs charges de travail de données et d'apprentissage automatique sur AWS. Dans ses temps libres, il aime jouer au cricket et au volley-ball.
- Coinsmart. Le meilleur échange Bitcoin et Crypto d'Europe.
- Platoblockchain. Intelligence métaverse Web3. Connaissance amplifiée. ACCÈS LIBRE.
- CryptoHawk. Radar Altcoins. Essai gratuit.
- Source : https://aws.amazon.com/blogs/machine-learning/use-amazon-sagemaker-data-wrangler-in-amazon-sagemaker-studio-with-a-default-lifecycle-configuration/
- "
- 100
- a
- Qui sommes-nous
- accès
- Compte
- actes
- ajoutée
- Tous
- Amazon
- analytique
- api
- appli
- en vigueur
- Application
- applications
- appliqué
- Appliquer
- Application
- approprié
- applications
- Associé(e)
- associé
- automatiser
- automatiquement
- AWS
- car
- ci-dessous
- Block
- frontière
- pauses
- construire
- Appelez-nous
- Causes
- Change
- Contrôles
- Selectionnez
- le cloud
- code
- complet
- composants électriques
- calcul
- configuration
- NOUS CONTACTER
- consultant
- contient
- des bactéries
- engendrent
- créée
- crée des
- La création
- cricket
- crucial
- Courant
- Clients
- données
- Analyse de Donnée
- démontrer
- dépend
- déployer
- Conception
- Développeur
- Développement
- différent
- domaine
- chacun
- même
- echo
- permettre
- permet
- permettant
- end-to-end
- ingénieur
- Les ingénieurs
- Environment
- événements
- exemple
- existant
- Découvrez
- explorez
- extensions
- Échec
- plus rapide
- Prénom
- première fois
- flux
- se concentre
- suivre
- Abonnement
- le format
- de
- porte
- Git
- GitHub
- arriver
- la taille
- ici
- Accueil
- Comment
- How To
- HTTPS
- image
- satellite
- comprendre
- inclus
- d'information
- installer
- instance
- Interactif
- Interfaces
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- lancer
- lancement
- apprentissage
- Niveau
- Gamme
- Liste
- Style
- click
- machine learning
- FAIT DU
- gérer
- manager
- pourrait
- ML
- numériques jumeaux (digital twin models)
- PLUS
- Films
- cahier
- ouvert
- opération
- original
- propre
- panneau
- passionné
- jouer
- Préparer
- Directeur
- Problème
- processus
- les process
- professionels
- Profil
- fournit
- aportando
- vite.
- dépôt
- nécessaire
- Exigences
- ressource
- Ressources
- Courir
- pour le running
- même
- Épargnez
- Sciences
- scientifiques
- Série
- Services
- set
- mise
- installation
- coquillage
- montrer
- étapes
- So
- Logiciels
- développement de logiciels
- solide
- sur mesure
- Résoudre
- quelques
- code source
- spécialiste
- groupe de neurones
- Standard
- Commencer
- départs
- storage
- studio
- Avec succès
- Appuyer
- Les soutiens
- Technique
- terminal
- tester
- Les
- fiable
- Transformer
- déclenché
- types
- sous
- Mises à jour
- utilisé
- utilisateurs
- visualisation
- Quoi
- que
- dans les
- sans
- Activités principales
- vos contrats
- Votre