Utilisation de Scala pour programmer les scripts ETL AWS Glue - 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.

Utilisation de Scala pour programmer les scripts ETL AWS Glue

Vous pouvez générer automatiquement un programme ETL Scala à l'aide de la console AWS Glue et le modifier si nécessaire avant de l'affecter à une tâche. Vous pouvez également écrire votre propre programme à partir de zéro. Pour plus d'informations, consultez Configuration des propriétés des tâches pour les tâches Spark dans AWS Glue. AWS Glue compile ensuite votre programme Scala sur le serveur avant d'exécuter la tâche associée.

Pour vous assurer que votre programme se compile sans erreur et s'exécute comme prévu, il est important de le charger sur un terminal de développement dans un REPL (Read-Eval-Print Loop) ou un bloc-notes Jupyter et de le tester là avant de l'exécuter dans un job. Étant donné que le processus de compilation intervient sur le serveur, vous n'aurez pas une bonne visibilité sur les éventuels problèmes qui s'y produisent.

Test d'un programme ETL Scala dans un bloc-notes Jupyter sur un point de terminaison de développement

Pour tester un programme Scala sur un point de terminaison de développement AWS Glue, définissez le point de terminaison de développement comme décrit dans Ajout d'un point de terminaison de développement.

Ensuite, connectez-le à un bloc-notes Jupyter qui s'exécute localement sur votre machine ou à distance sur un serveur de EC2 bloc-notes Amazon. Pour installer une version locale d'un bloc-notes Jupyter, suivez les instructions fournies dans Tutoriel : bloc-notes Jupyter dans JupyterLab.

La seule différence entre exécuter du code Scala et exécuter PySpark du code sur votre bloc-notes est que vous devez commencer chaque paragraphe du bloc-notes avec ce qui suit :

%spark

Cela empêche le serveur Notebook d'utiliser par défaut la version de l' PySparkinterpréteur Spark.

Test d'un programme ETL Scala dans un REPL Scala

Vous pouvez tester un programme Scala sur un point de terminaison de développement à l'aide d'un REPL Scala AWS Glue. Suivez les instructions indiquées dansTutoriel : Utiliser un bloc-notes SageMaker AI, sauf à la fin de la SSH-to-REPL commande, remplacez -t gluepyspark par-t glue-spark-shell. Cela appelle la fonction REPL Scala AWS Glue.

Pour fermer la fonction REPL lorsque vous avez terminé, tapez sys.exit.