

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Verificar dependências usando o repositório de artefatos do Amazon EMR
<a name="emr-artifact-repository"></a>

Você pode usar o repositório de artefatos do Amazon EMR para compilar o código de trabalho do Apache Hive e do Apache Hadoop relacionado às versões exatas de bibliotecas e dependências disponíveis com versões de específicas do Amazon EMR, a partir da versão 5.18.0 do Amazon EMR. A compilação de artefatos do Amazon EMR no repositório ajuda a evitar problemas do caminho de classe do runtime, garantindo que as versões das bibliotecas nas quais o trabalho é criado sejam exatamente as mesmas versões fornecidas no runtime no cluster. Atualmente, os artefatos do Amazon EMR estão disponíveis somente para compilações do Maven.

Para acessar o repositório de artefatos, adicione o URL do repositório ao arquivo de configurações Maven ou ao arquivo de configurações `pom.xml` de um projeto específico. Em seguida, você pode especificar as dependências na configuração de seu projeto. Para as versões de dependência, use a versão listada em *Versões do componente* para a versão desejada em [Versões de lançamento 5.x do Amazon EMR](emr-release-5x.md). Por exemplo, as versões de componente para a versão do Amazon EMR mais recente está disponível em [Versões de componente 5.36.2](emr-5362-release.md#emr-5362-components). Se um artefato para o seu projeto não estiver listado em *Versões do componente*, especifique a versão que está listada para o Hive e o Hadoop nessa versão. Por exemplo, para componentes do Hadoop na versão 5.18.0 do Amazon EMR, a versão é `2.8.4-amzn-1`.

O URL do repositório de artefatos tem a seguinte sintaxe:

```
https://{{s3-endpoint}}/{{region-ID}}-emr-artifacts/{{emr-release-label}}/repos/maven/
```
+ {{s3-endpoint}}é o endpoint do Amazon Simple Storage Service (Amazon S3) da região para o repositório {{region-ID}} e é a região correspondente. Por exemplo, `s3.us-west-1.amazonaws.com` e `us-west-1`. Para obter mais informações, consulte os endpoints do Amazon S3 na *Referência geral da Amazon Web Services*. Não há diferença nos artefatos entre as regiões, portanto, você pode especificar a região mais conveniente para o seu ambiente de desenvolvimento.
+ {{emr-release-label}}é a etiqueta de lançamento do cluster Amazon EMR que executará seu código. Os rótulos de versão estão no formato `emr-{{x.x.x}}`, como `emr-5.36.2`. Uma série de versões do EMR pode incluir várias versões. Por exemplo, se você estiver usando a versão 5.24.1 do EMR, use o primeiro rótulo de versão do EMR na série 5.24, `emr-5.24.0`, no URL do repositório de artefatos: 

  ```
  https://{{s3-endpoint}}/{{region-ID}}-emr-artifacts/emr-5.24.0/repos/maven/
  ```

**Example Configuração para pom.xml do Maven**  

O exemplo pom.xml a seguir configura um projeto Maven para compilar os artefatos do Apache Hadoop e do Apache Hive do emr-5.18.0 usando o repositório de artefatos em us-west-1. As versões de snapshot não estão disponíveis no repositório de artefatos. Portanto, os snapshots estão desabilitados no pom.xml. As elipses ({{...}}) no exemplo abaixo indicam a omissão de outros parâmetros de configuração. Não os copie em seu projeto 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>
```