Amazon EMR は Apache Spark を実行するのに最適です。AWS マネジメントコンソール、AWS CLI、または Amazon EMR API 使用すると、Spark マネージドクラスターをすばやく簡単に作成できます。さらに、Amazon EMR ファイルシステム (EMRFS) を利用した Amazon S3 への高速接続、Amazon EC2 スポット市場や AWS Glue データカタログとの統合、Auto Scaling によるクラスターへのインスタンスの追加と削除など、Amazon EMR の追加機能を活用できます。AWS Lake Formation はきめ細かなアクセス制御を可能にし、AWS Step Functions との統合はデータパイプラインのオーケストレーションを支援します。EMR Notebooks を使えば、Spark を使った実験やアプリケーション構築を簡単に行えます。また、Apache Zeppelin では、Spark を使用してインタラクティブで共同作業が可能なノートブックを作成してデータ探索を行うこともできます。

Apache Spark の詳細については、こちらを参照してください。

特徴と利点

高速なパフォーマンス

EMR は Apache Spark 向けにパフォーマンスが最適化されたランタイム環境を備えており、これはデフォルトで有効になっています。EMR の Spark 用ランタイムは、標準の Spark と比較して 3 倍以上高速で、標準の Spark との完全な API 互換性を持っています。こうしたパフォーマンスの向上により、アプリケーションに変更を加えることなく、ワークロードを高速に実行し、計算コストを節約できます。

有向非巡回グラフ (DAG) 実行エンジンを使用することで、Spark はデータ変換のための効率的なクエリプランを作成できます。また、Spark は、入力、出力、中間データを回復力のあるデータフレームとしてメモリ内に保存し、I/O コストをかけずに高速な処理を可能にし、反復処理やインタラクティブなワークロードのパフォーマンスを向上させます。

共同作業でアプリケーションを迅速に開発

Apache Spark では Java、Scala、SQL、Python がネイティブサポートされているため、アプリケーションの構築にさまざまな言語を使用できます。また、Spark SQL モジュールを使用して、SQL または HiveQL クエリを送信できます。アプリケーションを実行するだけでなく、Spark シェルで直接 Python や Scala とインタラクティブに Spark API を使用したり、クラスター上の Jupyter ノートブックを介して Spark API を使用できます。EMR 6.0 における Apache Hadoop3.0 のサポートにより、Docker コンテナのサポートが導入され、依存関係の管理が簡素化されます。クラスターに依存しない EMR Notebooks (Jupyter ベース) や、Zeppelin を使用して、インタラクティブで共同作業が可能なノートブックを作成してデータの探索と可視化を行うこともできます。クラスターから独立した、永続的な Spark 履歴サーバーを持つ EMR コンソールで、ワークロードのチューニングとデバッグができます。

さまざまなワークフローの作成

Apache Spark には、機械学習 (MLlib)、ストリーム処理 (Spark Streaming)、グラフ処理 (GraphX) のためのアプリケーションを構築するのに役立つライブラリがいくつか含まれています。これらのライブラリは Spark エコシステムと緊密に統合されており、さまざまなユースケースに合わせてすぐに活用できます。さらに、Apache MXNet などのディープラーニングフレームワークを Spark アプリケーションで使用できます。AWS Step Functions との統合により、サーバーレスワークフローの自動化とオーケストレーションをアプリケーションに追加できます。

Amazon EMR 機能セットとの統合

EMR Step API を使用して Apache Spark のジョブを送信したり、Spark with EMRFS を使用して S3 内のデータに直接アクセスしたり、EC2 スポットキャパシティーを使用してコストを節約したり、フルマネージドの Auto Scaling を使用して動的にキャパシティーを追加および削除したり、またワークロードに合わせて長期でまたは一時的に使用するクラスターを起動したりできます。EMR のセキュリティ設定を使用すると、Spark 暗号化と Kerberos による認証を簡単に設定できます。さらに、AWS Glue データカタログを使用して Spark SQL テーブルのメタデータを保存したり、Amazon SageMaker を Spark 機械学習パイプラインで使用したりもできます。EMR は Hadoop YARN 上に Spark をインストールして管理します。ユーザーは、クラスター上に他のビッグデータアプリケーションを追加することもできます。EMR with Apache Hudi を使用すると、変更データキャプチャ (CDC) をより効率的に管理でき、レコードの削除を簡素化することで GDPR や CCPA などのプライバシー規制にも対応できます。EMR の特徴の詳細についてはこちらをクリックしてください。

ユースケース

ストリーム処理

Amazon KinesisApache Kafka、またはその他のデータストリームからのリアルタイムデータを EMR で Spark Streaming を使用して取り込み、処理します。ストリーミング分析を耐障害性のある方法で実行し、結果を S3 やクラスター上の HDFS に書き込みます。

機械学習

EMR での Apache Spark には、多くのスケーラブルな機械学習アルゴリズムに対応する MLlib が含まれています。また、独自のライブラリを使用することも可能です。ジョブの間はデータセットをメモリに保存することで、Spark は、機械学習のワークロードで一般的である、反復的なクエリに対して優れたパフォーマンスを発揮します。

インタラクティブ SQL

Spark SQL を使用して、SQL や HiveQL を使用した低レイテンシーのインタラクティブなクエリを実行できます。EMR での Spark は EMRFS を使用できるため、ユーザーは Amazon S3 内のデータセットへのアドホックアクセスを行えます。また、EMR Notebooks や Zeppelin ノートブック、BI ツールを ODBC および JDBC 接続を介して使用することもできます。

導入事例

Yelp

Yelp

Yelp の広告ターゲティングチームは、ある広告に対するユーザー操作の可能性を判定する予測モデルを作成しています。Amazon EMR 上の Apache Spark を使用して大量のデータを処理し、機械学習モデルをトレーニングすることで、Yelp では収益と広告のクリックスルー率を向上させました。

ワシントンポスト

ワシントンポスト

ワシントンポストでは、Amazon EMR で Apache Spark を使用して、ウェブサイトの推奨エンジンを強化するモデルを構築し、読者のエンゲージメントと満足度を高めることができました。Amazon EMR と Amazon S3 との高性能接続を活用することで、モデルはほぼリアルタイムで更新されます。

インテントメディア

インテントメディア

Intent Media は、旅行販売サイトの広告向けプラットフォームを運営しています。データチームは Amazon EMR で Apache Spark と MLlib を使用して、テラバイト単位の e コマースデータを毎日取り込み、その情報を活用して判定サービスを強化し、顧客収入を最適化しています。詳細については、こちらをクリックしてください。

Krux

Krux

Krux では、顧客インサイトのデータ管理プラットフォームの一部として、多数の機械学習ワークロードと一般処理ワークロードを Apache Spark を使用して実行しています。Krux では Amazon EC2 スポットキャパシティーを利用した一時的な Amazon EMR クラスターを活用することでコストを節減し、EMRFS によって Amazon S3 を Apache Spark のデータレイヤーとして使用しています。

続きを読む »

GumGum

GumGum

画像内および画面内広告のプラットフォームである GumGum では、在庫予測、クリックストリームログの処理、Amazon S3 の非構造化データのアドホック分析に Amazon EMR の Spark を使用しています。Spark によりパフォーマンスが強化されることで、GumGum ではワークフローにかかる時間と費用を節約できています。

続きを読む »

Hearst

株式会社 Hearst

多種多様なメディアや情報を扱う大企業である Hearst Corporation では、200 を超えるウェブプロパティのコンテンツを閲覧する顧客が存在します。Amazon EMR で Apache Spark Streaming を使用することで、Hearst の編集スタッフは、どの記事がよい成績を上げ、どのテーマがトレンドになっているのか、リアルタイムの動きを把握できています。

続きを読む »

CrowdStrike

CrowdStrike

CrowdStrike は、侵害対策のエンドポイント保護を提供しています。Amazon EMR と Spark を使用することで、数百テラバイトものイベントデータを処理し、ホストでより高レベルな動作記述にまとめています。CrowdStrike では、そのデータからイベントデータについてまとめ、悪意のあるアクティビティの存在を判定することができます。

続きを読む »

Amazon EMR 料金の詳細

料金表のページを見る
構築を始めましょう。
Amazon EMR の開始方法
ご不明な点がおありですか?
お問い合わせ