

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EMR アーティファクトリポジトリを使用して依存関係を確認する
<a name="emr-artifact-repository"></a>

Amazon EMR リリースバージョン 5.18.0 以降では、Amazon EMR アーティファクトリポジトリを使用し、特定の Amazon EMR リリースバージョンで利用可能なライブラリおよび依存関係の正確なバージョンに対して Apache Hive および Apache Hadoop のジョブコードをビルドできます。リポジトリの Amazon EMR アーティファクトに対してビルドすると、ジョブがビルドされるライブラリのバージョンがクラスターでの実行時に提供されるバージョンと正確に同じになるため、ランタイムクラスパスの問題を回避できます。現在、Amazon EMR アーティファクトは Maven ビルドでのみ使用可能です。

アーティファクトリポジトリにアクセスするには、リポジトリ URL を Maven 設定ファイルまたは特定のプロジェクトの `pom.xml` 設定ファイルに追加します。その後、プロジェクト設定に依存関係を指定できます。依存関係のバージョンについては、[Amazon EMR 5.x リリースバージョン](emr-release-5x.md) にある目的のリリースの*コンポーネントバージョン*の下にリストされているバージョンを使用します。例えば、最新の Amazon EMR リリースのコンポーネントバージョンは [5.36.2 コンポーネントバージョン](emr-5362-release.md#emr-5362-components) にあります。プロジェクトのアーティファクトが*コンポーネントバージョン*にリストされていない場合は、そのリリースの Hive と Hadoop にリストされているバージョンを指定します。例えば、Amazon EMR リリースバージョン 5.18.0 の Hadoop コンポーネントの場合、バージョンは `2.8.4-amzn-1` です。

アーティファクトリポジトリ URL の構文は次のとおりです。

```
https://s3-endpoint/region-ID-emr-artifacts/emr-release-label/repos/maven/
```
+ *s3-endpoint* はリポジトリのリージョンの Amazon Simple Storage Service (Amazon S3) エンドポイントで、*region-ID* は対応するリージョンです。例えば、`s3.us-west-1.amazonaws.com` と `us-west-1` です。詳細については、「Amazon Web Services 全般のリファレンス」の Amazon S3 エンドポイントを参照してください。リージョン間でアーティファクトに違いはないため、開発環境に対して最も便利なリージョンを指定することができます。
+ *emr-release-label* は、コードを実行する Amazon EMR クラスター用のリリースラベルです。リリースラベルは `emr-x.x.x` 形式 (`emr-5.36.2` など) です。EMR リリースシリーズには、複数のリリースが含まれる場合があります。たとえば、EMR リリースバージョン 5.24.1 を使用している場合、アーティファクトリポジトリ URL では、5.24 シリーズの初回 EMR リリースラベル `emr-5.24.0` を使用します。

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

**Example Maven pom.xml の設定**  

次の pom.xml の例では、us-west-1 のアーティファクトリポジトリを使用して、emr-5.18.0 Apache Hadoop および Apache Hive アーティファクトに対してビルドするように Maven プロジェクトを設定します。スナップショットのバージョンはアーティファクトリポジトリでは使用できないため、スナップショットは pom.xml で無効になります。次の例の省略記号 (*...*) は、他の設定パラメータの省略を示します。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>
```