Apache Spark - Amazon EMR

Apache Spark

Apache Spark は、Amazon EMR クラスターでの機械学習、ストリーム処理、グラフ分析に役立つ分散処理フレームワークおよびプログラミングモデルです。Apache Spark は、Apache Hadoop と同様に、ビッグデータのワークロードを処理するために一般的に使用されているオープンソースの分散処理システムです。ただし、Spark には Hadoop MapReduce との大きな違いがいくつかあります。Spark は、最適化された Directed Acyclic Graph (DAG) 実行エンジンを備えており、データをインメモリにアクティブにキャッシュするため、特に特定のアルゴリズムやインタラクティブクエリの場合にパフォーマンスが向上します。

Spark アプリケーションは、Scala、Java、および Python をネイティブでサポートしています。また、SQL (Spark SQL)、機械学習 (MLlib)、ストリーム処理 (Spark Streaming)、グラフ処理 (GraphX) 用の緊密に統合されたライブラリもいくつか含まれています。これらのツールを使用すると、さまざまなユースケースで Spark フレームワークを活用しやすくなります。

Spark は、他の Hadoop アプリケーションと同時に Amazon EMR クラスターにインストールすることができ、EMR ファイルシステム (EMRFS) を利用して Amazon S3 のデータに直接アクセスすることができます。Hive は Spark と統合されているため、HiveContext オブジェクトを使用することで、Spark を使用して Hive スクリプトを実行することもできます。Hive コンテキストは、spark-shell に sqlContext として含められます。

Spark で EMR クラスターを設定し、サンプルデータセットを分析するチュートリアルの例については、AWS ニュースブログの「Tutorial: Getting started with Amazon EMR」を参照してください。

重要

Apache Spark バージョン 2.3.1 は Amazon EMR リリース 5.16.0 以降で利用でき、CVE-2018-8024 および CVE-2018-1334 に対処します。Spark の以前のバージョンを Spark バージョン 2.3.1 以降に移行することをお勧めします。

次の表は、Amazon EMR 6.x シリーズの最新リリースに含まれている Spark のバージョンと、Amazon EMR で Spark と共にインストールされるコンポーネントを示しています。

このリリースで Spark と共にインストールされるコンポーネントのバージョンについては、「リリース 6.14.0 のコンポーネントバージョン」を参照してください。

emr-6.14.0 の Spark バージョン情報
Amazon EMR リリースラベル Spark バージョン Spark でインストールされるコンポーネント

emr-6.14.0

Spark 3.4.1

aws-sagemaker-spark-sdk, delta, emrfs, emr-goodies, emr-ddb, emr-s3-select, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hudi, hudi-spark, iceberg, livy-server, nginx, r, spark-client, spark-history-server, spark-on-yarn, spark-yarn-slave

注記

Amazon EMR リリース 6.8.0 には、Apache Spark 3.3.0 が付属しています。この Spark リリースでは、Apache Log4j 2 と log4j2.properties ファイルを使用して Spark プロセス内の Log4j を設定します。クラスターで Spark を使用するか、カスタム設定パラメータを使用して EMR クラスターを作成し、Amazon EMR リリース 6.8.0 にアップグレードする場合は、Apache Log4j 2 の新しい spark-log4j2 設定分類とキー形式に移行する必要があります。詳細については、「Apache Log4j 1.x から Log4j 2.x への移行」を参照してください。

次の表は、Amazon EMR 5.x シリーズの最新リリースに含まれている Spark のバージョンと、Amazon EMR で Spark と共にインストールされるコンポーネントを示しています。

このリリースで Spark と共にインストールされるコンポーネントのバージョンについては、「リリース 6.14.0 のコンポーネントバージョン」を参照してください。

emr-5.36.1 の Spark バージョン情報
Amazon EMR リリースラベル Spark バージョン Spark でインストールされるコンポーネント

emr-5.36.1

Spark 2.4.8

aws-sagemaker-spark-sdk, emrfs, emr-goodies, emr-ddb, emr-s3-select, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hudi, hudi-spark, livy-server, nginx, r, spark-client, spark-history-server, spark-on-yarn, spark-yarn-slave