Développer des travaux de collage localement à l’aide de conteneurs Docker
Pour configurer AWS glue localement, vous pouvez suivre la documentation AWS ici. Mais cela ne semble pas fonctionner et nous en discuterons en détail. J’ai donc créé une image Docker et je vais vous expliquer ce que nous faisons.
Je prends centos comme image de base, puis en définissant ces variables env, nous en aurons besoin pour télécharger les bibliothèques plus tard
Ensuite, nous allons créer un répertoire glue et installer les bibliothèques requises comme Java, Python, wget, tar et python et définir notre répertoire de travail sur glue
Maintenant, dans ce répertoire, vous pourrez télécharger les bibliothèques maven, spark et glue et les décompresser. Ensuite, nous mettrons à jour la variable path et y ajouterons les variables SPARK_HOME, JAVA_HOME, MAVEN_HOME et GLUE_HOME.
Voici un problème connu important où supprimera certaines des bibliothèques https://github.com/awslabs/aws-glue-libs/issues/25.
Nous allons maintenant compiler toutes les dépendances en utilisant maven. Ce script shell exécute la commande maven build et obtient toutes les dépendances requises.
Nous l’exécutons une fois afin que notre image docker contienne les bibliothèques à l’avance et vous fasse gagner du temps pour exécuter des tâches spark plus tard.
Enfin, nous allons nettoyer tous les répertoires tmp et utiliser bash comme point d’entrée dans notre conteneur.
Maintenant, utilisez le fichier docker et créez votre conteneur afin de commencer à développer vos travaux d’étincelle de colle.
Créer une image Docker à partir de Dockerfile
Pour créer l’image à partir de ce Dockerfile, exécutez la commande suivante:
Extraire l’image existante de DockerHub
Pour utiliser l’image existante pour démarrer votre conteneur, tirez simplement l’image du docker hub et exécutez les commandes fournies pour soumettre les travaux
Pour extraire l’image, exécutez la commande suivante:
Vérifiez l’image téléchargée en exécutant
Exécutez le conteneur Docker
Pour exécuter le conteneur et entrer dans repl coquille:
Pour entrer dans le terminal et soumettre une exécution de travail d’étincelle
De cette façon, vous pourrez tester votre travail sur votre machine locale ou vous pouvez également l’utiliser sur n’importe quelle instance EC2 en fonction de la taille de vos données.