Verifica delle dipendenze mediante il repository degli artifact di Amazon EMR - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Verifica delle dipendenze mediante il repository degli artifact di Amazon EMR

Puoi utilizzare il repository degli artifact di Amazon EMR per creare il codice processo Apache Hive e Apache Hadoop rispetto alle versioni esatte di librerie e dipendenze disponibili con versioni di rilascio di Amazon EMR specifiche, a partire dalla versione di rilascio 5.18.0 di Amazon EMR. La creazione in base agli artifact di Amazon EMR nel repository consente di evitare problemi di percorso della classe di runtime, garantendo che le versioni delle librerie su cui è creato il processo siano della stessa versione fornita al cluster in fase di runtime. Attualmente, gli artifact di Amazon EMR sono disponibili solo per le build Maven.

Per accedere al repository degli artefatti, aggiungi l'URL del repository al file delle impostazioni Maven o a un file di configurazione pom.xml specifico del progetto. Puoi quindi specificare le dipendenze nella configurazione del progetto. Per le versioni delle dipendenze, utilizza la versione elencata in Versioni dei componenti per il rilascio desiderato Versioni di rilascio di Amazon EMR 5.x. Ad esempio, le versioni dei componenti per il rilascio di Amazon EMR più recente sono disponibili all'indirizzo Versioni dei componenti 5.36.2. Se un artefatto del tuo progetto non è elencato in Versioni dei componenti, specifica la versione elencata per Hive e Hadoop in tale rilascio. Ad esempio, per i componenti Hadoop nel rilascio di Amazon EMR 5.18.0, la versione è 2.8.4-amzn-1.

L'URL del repository degli artefatti presenta la seguente sintassi:

https://s3-endpoint/region-ID-emr-artifacts/emr-release-label/repos/maven/
  • s3-endpoint è l'endpoint Amazon Simple Storage Service (Amazon S3) della regione per il repository e region-ID è la regione corrispondente. Ad esempio s3.us-west-1.amazonaws.com e us-west-1. Per ulteriori informazioni, consulta Endpoint per Amazon S3 in Riferimenti generali di Amazon Web Services. Non vi è alcuna differenza negli artefatti tra regioni, perciò è possibile specificare la regione più utile per il proprio ambiente di sviluppo.

  • emr-release-labelè l'etichetta di rilascio per il cluster Amazon EMR che eseguirà il codice. Le etichette di rilascio sono nel formato emr-x.x.x, ad esempio emr-5.36.2. Una serie di release EMR può includere più versioni. Ad esempio, se si utilizza EMR versione 5.24.1, utilizzare la prima etichetta di release EMR all'interno della serie 5.24, emr-5.24.0, nell'URL del repository degli artefatti:

    https://s3-endpoint/region-ID-emr-artifacts/emr-5.24.0/repos/maven/
Esempio Configurazione per Maven pom.xml

L'esempio pom.xml seguente consente di configurare un progetto Maven da creare in base agli artefatti emr-5.18.0 Apache Hadoop e Apache Hive, utilizzando il repository degli artefatti us-west-1. Le versioni degli snapshot non sono disponibili nel repository degli artefatti, perciò gli snapshot sono disabilitati in pom.xml. Le ellissi (...) nell'esempio di seguito indicano omissione di altri parametri di configurazione. Non copiarli nel progetto 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>