Verificar dependências usando o repositório de artefatos do Amazon EMR - Amazon EMR

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

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. Por exemplo, as versões de componente para a versão do Amazon EMR mais recente está disponível em Versões do componente 5.36.2. 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, e region-ID é 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/
exemplo 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 reticências (...) no exemplo abaixo indicam 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>