投稿日: Sep 6, 2019

EMR 6.0.0 (ベータ) があれば、Spark 2.4.3 と Hadoop 3.1.0 を使用して、Docker HubAmazon Elastic Container Registry (ECR) の Docker イメージを使ってアプリケーションやライブラリの依存関係を定義することができます。

現在、PySpark と SparkR のユーザーは、クラスターの各ホストにそれらの依存関係をインストールすることが必須となっています。それにより、マルチテナントのクラスターを運用しているチームは、必死で特定のライブラリバージョンに対応したり、依存関係を管理したりすることとなり、開発者の生産性は制限されて、使用するクラスターの準備にはますます時間がかかり、クラスターのアップグレードの複雑さは増す結果となっています。 

Hadoop 3、Docker、EMR を使うことで、Spark のユーザーは、ライブラリの依存関係を個々のクラスターホストにインストールする必要がなくなり、アプリケーションの依存関係は、個々の Spark アプリケーションにスコープすることが可能になりました。これは、Spark アプリケーションを EMR クラスターホストで直接実行するのではなく Docker コンテナで実行するで実現しました。Spark アプリケーションで Docker を使用するには、EMR クラスターにジョブを送信する際に、Docker イメージの名前を参照するだけです。EMR クラスターで実行している YARN は、Docker Hub または ECR から自動的にイメージを取得し、アプリケーションを実行します。Docker イメージを使うと、独自のライブラリの依存関係をパッケージ化することができます。また、異なるバージョンの R と Python を使用して、同じクラスターでコンテナを実行することもできます。 

また、EMR リリース 6.0.0 (ベータ) には、Amazon Linux 2 と Amazon Corretto JDK 8 のサポートが含まれています。Amazon Linux 2 は Amazon Linux サーバーオペレーティングシステムの最新世代で、systemd init システムのような新しいシステムツールや、パフォーマンスチューニング済みの Amazon Linux LTS Kernel を提供します。Amazon Corretto JDK 8 は、長期サポート、パフォーマンス強化、セキュリティ修正を含む、Java SE 認定の互換 JDK を提供します。 

EMR リリース 6.0.0 (ベータ) は、米国東部 (バージニア北部) および米国西部 (オレゴン) リージョンで提供されています。使用を開始するには、Run Spark applications with Docker using Amazon EMR 6.0.0 (Beta) を参照してください。本リリースに関するフィードバックやご質問は、Amazon EMR フォーラムにお寄せください。

EMR リリースノートのフィードをサブスクライブすると、EMR リリースの最新情報が得られます。EMR リリースガイドの上部にあるアイコンを使って、フィードの URL をお使いのフィードリーダーに直接リンクしてください。