Modification ou téléchargement d'un script de tâche - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Modification ou téléchargement d'un script de tâche

Utilisez l'éditeur visuel de AWS Glue Studio pour éditer le script de tâche ou charger votre propre script.

Vous ne pouvez utiliser l'éditeur visuel pour éditer des nœuds de tâche que si les tâches ont été créées avec AWS Glue Studio. Si la tâche a été créée à l'aide de la console AWS Glue, par des commandes d'API ou avec l'interface de ligne de commande (CLI), vous pouvez utiliser l'éditeur de script dans AWS Glue Studio pour modifier le script de tâche, les paramètres et la planification. Vous pouvez également modifier le script d'une tâche créée dans AWS Glue Studio en convertissant la tâche en mode script-only (script seul).

Pour modifier le script de tâche ou télécharger votre propre script
  1. Si vous créez une tâche, sur la page Jobs (Tâches), choisissez l'option Spark script editor (Éditeur de script Spark) pour créer une tâche Spark ou l'option Python Shell script editor (Éditeur de script shell Python) pour créer une tâche shell Python. Vous pouvez soit écrire un nouveau script, soit en télécharger un existant. Si vous choisissez Spark script editor (Éditeur de script Spark), vous pouvez écrire ou télécharger un script Scala ou Python. Si vous choisissez Python Shell script editor (Éditeur de script shell Python), vous ne pouvez écrire ou télécharger qu'un script Python.

    Après avoir choisi l'option de création d'une tâche, dans la section Options qui s'affiche, vous pouvez choisir soit de commencer avec un script de démarrage (Create a new script with boilerplate code (Créez un script avec le code standard)), soit de télécharger un fichier local à utiliser comme script de tâche.

    Si vous avez choisi Spark script editor (Éditeur de script Spark), vous pouvez télécharger des fichiers de script Python ou Scala. Les scripts Scala doivent avoir l'extension de fichier .scala. Les scripts Python doivent être reconnus en tant que fichiers de type Python. Si vous choisissez Python Shell script editor (Éditeur de script shell Python), vous ne pouvez télécharger que des fichiers script Python.

    Lorsque vous avez terminé vos choix, choisissez Create (Créer) pour créer la tâche et ouvrir l'éditeur visuel.

  2. Accédez à l'éditeur de tâches visuel pour la nouvelle tâche ou la tâche enregistrée, puis choisissez l'onglet Script.

  3. Si vous n'avez pas créé de tâche à l'aide de l'une des options d'éditeur de script et que vous n'avez jamais modifié le script d'une tâche existante, la propriété Script affiche l'en-têteScript (Locked  —  verrouillé). Cela signifie que l'éditeur de script est en mode lecture seule. Choisissez Edit Script (Modifier le script) pour déverrouiller le script à des fins d'édition.

    Pour rendre le script modifiable, AWS Glue Studio convertit le type de votre tâche de visuel à script-only. Si vous déverrouillez le script pour l'édition, vous ne pouvez plus utiliser l'éditeur visuel pour cette tâche après l'avoir sauvegardée.

    Dans la fenêtre de confirmation, choisissez Confirm (Confirmer) pour continuer ou Cancel (Annuler) pour garder la tâche disponible pour l'édition visuelle.

    Si vous choisissez Confirm (Confirmer), l'onglet Visual (Visuel) n'apparaît plus dans l'éditeur. Vous pouvez utiliser AWS Glue Studio pour modifier le script à l'aide de l'éditeur de script, modifier les détails de la tâche ou sa planification, ou afficher les exécutions de la tâche.

    Note

    Tant que vous n'avez pas enregistré la tâche, la conversion en tâche script-only n'est pas permanente. Si vous actualisez la page Web de la console ou fermez la tâche avant de l'enregistrer et la rouvrez dans l'éditeur visuel, vous pourrez toujours modifier les nœuds individuels dans l'éditeur visuel.

  4. Modifiez le script en fonction des besoins.

    Lorsque vous avez fini de modifier le script, choisissez Save (Enregistrer) pour sauvegarder la tâche et convertir définitivement la tâche de visuel à script-only.

  5. (Facultatif) Vous pouvez télécharger le script à partir de la console AWS Glue Studio en choisissant le bouton Download (Télécharger) sur l'onglet Script. Lorsque vous cliquez sur ce bouton, une nouvelle fenêtre de navigateur s'ouvre et affiche le script à partir de son emplacement dans Amazon S3. Les paramètres Script filename (Nom du fichier de script) et Script path (Chemin du script) de la tâche dans l'onglet Job details (Détails de la tâche) déterminent le nom et l'emplacement du fichier de script dans Amazon S3.

    La capture d'écran montre l'éditeur visuel dans AWS Glue Studio avec l'onglet Détails de la tâche sélectionné. La section Propriétés avancées de la page est développée et les paramètres Nom de fichier du script et Chemin d'accès du script s'affichent. Le champ Nom de fichier Script affiche Join test job.py et le champ Chemin d'accès du script affiche s3://aws-glue-assets-111122223333-u.

    Lorsque vous enregistrez la tâche, AWS Glue enregistre le script de tâche à l'emplacement spécifié par ces champs. Si vous modifiez le fichier de script à cet emplacement dans Amazon S3, AWS Glue Studio chargera le script modifié la prochaine fois que vous éditez la tâche.

Création et modification de scripts Scala dans AWS Glue Studio

Lorsque vous choisissez l'éditeur de script pour créer une tâche, par défaut, le langage de programmation des tâches est défini sur Python 3. Si vous choisissez d'écrire un nouveau script au lieu de charger un script, AWS Glue Studio démarre un nouveau script avec du texte standard écrit en Python. Si vous voulez écrire un script Scala à la place, vous devez d'abord configurer l'éditeur de script pour utiliser Scala.

Note

Si vous choisissez Scala comme langage de programmation pour la tâche et que vous utilisez l'éditeur visuel pour concevoir votre tâche, le script de tâche généré est écrit en Scala, et aucune autre action n'est nécessaire.

Pour écrire un nouveau script Scala dans AWS Glue Studio
  1. Créez une tâche en choisissant l'option Spark script editor (Éditeur de script Spark).

  2. Sous Options, choisissez Create a new script with boilerplate code (Créez un script avec du code standard).

  3. Choisissez l'onglet Job details (Détails de la tâche) et définissez Language (Langage) à Scala (au lieu de Python 3).

    Note

    La propriété Type de la tâche est automatiquement définie à Spark lorsque vous choisissez l'option Spark script editor (Éditeur de script Spark) pour créer une tâche.

  4. Choisissez l'onglet Script.

  5. Supprimez le texte standard Python. Vous pouvez le remplacer par le texte standard Scala suivant.

    import com.amazonaws.services.glue.{DynamicRecord, GlueContext} import org.apache.spark.SparkContext import com.amazonaws.services.glue.util.JsonOptions import com.amazonaws.services.glue.util.GlueArgParser import com.amazonaws.services.glue.util.Job object MyScript { def main(args: Array[String]): Unit = { val sc: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(sc) } }
  6. Écrivez votre script de tâche Scala dans l'éditeur. Ajoutez d'autres instructions import au besoin.

Création et modification de tâches shell Python dans AWS Glue Studio

Lorsque vous choisissez l'éditeur de script shell Python pour créer une tâche, vous pouvez télécharger un script Python existant ou en écrire un nouveau. Si vous choisissez d'écrire un nouveau script, le code standard est ajouté au nouveau script de tâche Python.

Pour créer une tâche shell Python

Reportez-vous aux instructions dans Démarrer une tâche dans AWS Glue Studio.

Les propriétés de tâche qui sont prises en charge pour les tâches shell Python ne sont pas les mêmes que celles prises en charge pour les tâches Spark. La liste suivante décrit les modifications apportées aux paramètres de tâche disponibles pour les tâches shell Python sur l'onglet Job details (Détails de la tâche).

  • La propriété Type pour la tâche est automatiquement définie à Python Shell et ne peut pas être modifiée.

  • Au lieu de Language (Langage), il y a une propriété Python version (Version de Python) pour la tâche. Actuellement, les tâches shell Python créées dans AWS Glue Studio utilisent Python 3.6.

  • La propriété Glue version (Version de Glue) n'est pas disponible, car elle ne s'applique pas aux tâches shell Python.

  • Au lieu de Worker type (Type d'employé) et Number of workers (Nombre d'employés), une propriété Data processing units (Unités de traitement des données) est affichée à la place. Cette propriété de tâche détermine le nombre d'unités de traitement de données (DPU) consommées par le shell Python lors de l'exécution de la tâche.

  • La propriété Job bookmark (Signet de tâche) n'est pas disponible, car elle n'est pas prise en charge pour les tâches shell Python.

  • Sous Advanced properties (Propriétés avancées), les propriétés suivantes ne sont pas disponibles pour les tâches shell Python.

    • Métriques de tâche

    • Journalisation continue

    • Spark UI (Interface utilisateur Spark) et Spark UI logs path (Chemin d'accès à l'interface utilisateur Spark)

    • Dependent jars path (Chemin des fichiers .jar dépendants), sous l'en-tête Libraries (Bibliothèques)