

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
<a name="edit-nodes-script"></a>

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.

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

1. 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ête**Script (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.

1. 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.

1. (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.   
![\[\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/job-details-script-location-params-screenshot.png)

   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
<a name="edit-job-scala-script"></a>

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)**.

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

1. 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. 

1. Choisissez l'onglet **Script**.

1. 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)
   
       }
   }
   ```

1. É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
<a name="edit-job-python-shell"></a>

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](edit-nodes-chapter.md#create-jobs-start).

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 (DPUs) 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)**