Vérification des dépendances à l'aide du référentiel d'artefacts d'Amazon EMR - Amazon EMR

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.

Vérification des dépendances à l'aide du référentiel d'artefacts d'Amazon EMR

Vous pouvez utiliser le référentiel d'artefacts Amazon EMR pour générer le code de travail Apache Hive et Apache Hadoop sur les versions exactes des bibliothèques et dépendances qui sont disponibles avec des versions Amazon EMR spécifiques, en commençant par la version 5.18.0 d'Amazon EMR . La création contre les artefacts Amazon EMR dans le référentiel contribue à éviter des problèmes de chemin d'accès de classe d'exécution en assurant que les versions des bibliothèques contre lesquelles la tâche est construite sont exactement les mêmes versions fournies au moment de l'exécution sur le cluster. Actuellement, les artefacts Amazon EMR ne sont disponibles que pour les builds Maven.

Pour accéder à l'artefact de référentiel, ajoutez l'URL du référentiel à votre fichier de paramètres Maven ou à un fichier de configuration pom.xml d'un projet spécifique. Vous pouvez alors spécifier les dépendances de votre configuration de projet. Pour les versions de dépendances, utilisez la version répertoriée sous Versions de composant pour la version souhaitée sur Versions publiées par Amazon EMR 5.x. Par exemple, les versions des composants pour la dernière version Amazon EMR sont disponibles à l'adresse Versions des composants 5.36.2. Si un artefact pour votre projet n'est pas répertorié sous Versions de composant, spécifiez la version qui est répertoriée pour Hive et Hadoop dans cette version. Par exemple, pour les composants Hadoop dans la version 5.18.0 d'Amazon EMR, la version est 2.8.4-amzn-1.

L'URL de référentiel d'artefact dispose de la syntaxe suivante :

https://s3-endpoint/region-ID-emr-artifacts/emr-release-label/repos/maven/
  • s3-endpoint est le point de terminaison Amazon Simple Storage Service (Amazon S3) de la région pour le référentiel et region-ID est la région correspondante. Par exemple : s3.us-west-1.amazonaws.com et us-west-1. Pour plus d'informations, consultez les points de terminaison Amazon S3 dans la Référence générale d'Amazon Web Services. Il n'y a pas de différence d'artefacts entre les régions. Cela vous permet de spécifier la région la plus pratique pour votre environnement de développement.

  • emr-release-labelest le label de publication du cluster Amazon EMR qui exécutera votre code. Les étiquettes de version respectent le format emr-x.x.x, par exemple, emr-5.36.2. Une série de versions EMR peut inclure plusieurs versions. Par exemple, si vous utilisez EMR version 5.24.1, utilisez la première étiquette de version EMR de la série 5.24, emr-5.24.0, dans l'URL du référentiel d'artefacts :

    https://s3-endpoint/region-ID-emr-artifacts/emr-5.24.0/repos/maven/
Exemple Configuration pour Maven pom.xml

L'exemple de pom.xml ci-dessous configure un projet Maven pour se créer contre les artefacts Apache Hadoop et Apache Hive emr-5.18.0, à l'aide du référentiel d'artefacts dans us-west-1. Les versions d'instantanés ne sont pas disponibles dans le référentiel d'artefacts. Par conséquent, les instantanés sont désactivés dans le pom.xml. Des ellipses (...) dans l'exemple ci-dessous indiquent l'omission d'autres paramètres de configuration. Ne les copiez pas dans votre projet Maven.

<project> ... <repositories> ... <repository> <id>emr-5.18.0-artifacts</id> <name>EMR 5.18.0 Releases Repository</name> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <url>https://s3.us-west-1.amazonaws.com/us-west-1-emr-artifacts/emr-5.18.0/repos/maven/</url> </repository> ... </repositories> ... <dependencies> ... <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>2.3.3-amzn-2</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.8.4-amzn-1</version> </dependency> ... </dependencies> </project>