2
votes

Comment tester le code AWS Glue sans point de terminaison de développement

Je voudrais éviter le point de terminaison du développement AWS. Existe-t-il un moyen de tester et de déboguer mon code PySpark sans utiliser le point de terminaison de développement AWS en testant mon code dans un notebook / IDE local?


0 commentaires

5 Réponses :


0
votes

Nous utilisons pytest pour tester le code pyspark. Nous conservons le code pyspark dans un autre fichier et appelons ces fonctions dans le fichier de code. Avec cette séparation, nous pouvons tester un code pyspark en utilisant pytest


1 commentaires

Pourriez-vous le détailler un peu plus? Comment avez-vous réussi à configurer pytest?



0
votes

Nous avons une configuration ici, où nous avons pyspark installé localement et nous utilisons VSCode pour développer nos codes pyspark, nos tests unitaires et notre débogage. Nous exécutons les codes sur l'installation pyspark locale pendant le développement, puis nous déployons ces codes sur EMR pour fonctionner avec un ensemble de données réel.

Je ne sais pas dans quelle mesure cela s'applique à ce que vous essayez de faire avec Glue, car c'est un niveau plus élevé en abstraction.


0 commentaires

0
votes

Si vous prévoyez de déployer votre code pyspark sur le service AWS Glue, vous devrez peut-être utiliser GlueContext et d'autres API AWS Glue. Donc, si vous souhaitez effectuer un test par rapport au service AWS Glue, à l'aide de ces API AWS Glue, vous devez disposer d'un AWS Dev Endpoint.

Cependant, avoir un bloc-notes AWS Glue est facultatif, car vous pouvez configurer zeppelin, etc. établir une connexion tunnel ssh avec AWS Glue DEP pour le développement / test depuis l'environnement local. Assurez-vous de supprimer le DEPoint une fois que votre développement / test est terminé pour la journée.

Sinon, si vous ne souhaitez pas utiliser d'API AWS Glue autres que GlueContext, alors oui, vous pouvez configurer zeppelin dans un environnement local, tester le code localement, puis télécharger votre code sur S3, créer une tâche Glue pour le tester dans AWS Service de colle


0 commentaires

1
votes

Comme d'autres l'ont dit, cela dépend de la partie de la colle que vous allez utiliser. Si votre code est basé sur Spark pur, sans les cadres dynamiques, etc. La version locale de Spark peut suffire, si toutefois vous avez l'intention d'utiliser les extensions Glue, il n'y a pas vraiment d'option de ne pas utiliser le point Dev End à ce stade.

J'espère que cela vous aidera.


0 commentaires

0
votes

J'ai pu tester sans points de terminaison de développement

Veuillez suivre les instructions ici https://support.wharton.upenn.edu/help/glue-debugging


0 commentaires