AWSのEMRについて

はじめに

AWSのサービスの一つであるAmazon EMR(Amazon Elastic MapReduce)の概要、使い方、構成例について解説を行います。

Amazon EMRとは

Amazon EMR (以下EMR)は、AWS でビッグデータフレームワーク (Apache Hadoop や Apache Spark など) の実行を簡素化して、大量のデータを処理および分析するマネージド型クラスタープラットフォームです。

EMRはAWSのサービスの中では主に分析に使われ、分析に用いられる他のAWSサービスには、Amazon AthenaやAmazon Elasticsearch Service、Amazon Kinesisがあります。ビッグデータを扱えるほかのAWSサービスと比較すると、EMRはより柔軟にビッグデータの処理を行えます。

また、EMRはGoogleが開発した分散処理フレームワークであるMapReduceを参考に実装されています。  EMRを利用することで数百、数千のインスタンスを簡単にデプロイでき、ペタバイト規模のデータを扱うことができます。

EMRの使い方

使い方としては、データの抽出、変換、読み込み(ETL)、機械学習、クリックストリームの分析、リアルタイム分析、インタラクティブ分析などがあります。
これらを一つずつ解説していきます。
 

使い方①〜データの抽出、変換、読み込み(ETL〜

EMR を使用すると、並べ替え、集計、結合などのデータ変換ワークロード (ETL) を大規模なデータセットですばやく、コスト効率よく実行できます。

使い方②〜機械学習〜

EMRにはApache Spark MLlib、TensorFlow、Apache MXNet などの機械学習ツールが組み込まれ、拡張性がある機械学習アルゴリズムが利用できます。また、カスタムAMIおよびブートストラップアクションを使用すると、任意のライブラリやツールを追加した予測分析のためのツールセットを簡単に作成できます。

使い方③〜クリックストリームの分析〜

クリックストリームとはWebサイトの閲覧者が訪問から離脱までの間にどのページをどのような順序で遷移したかを記録したデータのことです。

EMRは、Amazon S3 に保存したクリックストリームデータを Apache Spark および Apache Hive を使って分析することにより、ユーザーの区分やユーザーの好みを把握して、より効果的な広告配信を行うことができます。

使い方④〜リアルタイム分析〜

分散ストリーム処理プラットフォームのひとつであるApache FlinkとApache Spark Streaming を組み合わすことにより、分散メッセージキューであるApache Kafka、リアルタイム分析サービスのAmazon Kinesis等のデータソースからストリーミングされるイベントをリアルタイムに分析することができる高い可用性と耐障害性を備えた長期間の実行に対応するストリーミングデータのパイプラインを EMR に構築できます。変換済みのデータセットは S3 や HDFS に永続的に保存し、インサイトは Amazon Elasticsearch Service で活用できます。

使い方⑤〜インタラクティブ分析〜

インタラクティブな分析とは、ディスプレイ等に表示された結果に従って、コンピューターに指示を与えながら分析をすすめる事を言います。
EMRノートブックはオープンソースの Jupyter をベースにしたマネージド型の分析環境で、データサイエンティスト、アナリスト、開発者はデータの準備や可視化、同僚との共同作業、アプリケーションの構築、インタラクティブ分析の実行に活用できます。

EMRの構成例

EMRは3つのノードタイプから構成されます。マスタノードでは、処理を受け付けたタスクの分散、および分散したタスクのステータス管理、各ノードの監視などクラスタに関する管理を行います。コアノードでは、散処理システムのApache Hadoopが利用する分散ファイルシステムであるHDFS(Hadoop Distributed File System)によりデータを保存します。HDFSは、GFS(Google File System)を参考として実装されており、HDFSは永続化の機能がなく、ノードを停止するとデータが消去されます。コアノードはHDFSに加えタスクも実行できます。タスクノードは、タスク実行のみを行うノードです。永続化データを持たないため、コストが安いスポットインスタンスをタスクノードに指定することでコスト効率が向上します。

ストレージについては、HDFSに加えてS3のデータを直接読み書き可能なEMRFS、EC2インスタンスに付属のイインスタンスストアと呼ばれるローカルファイルシステムを選択できます。

まとめ

●EMRは、AWS でビッグデータフレームワーク (Apache Hadoop や Apache Spark など) の実行を簡素化して、大量のデータを処理および分析するマネージド型クラスタープラットフォームでAWSのサービスの中では主に分析に使われる
●EMRの使用用途としては、データの抽出、変換、読み込み(ETL)、機械学習、クリックストリームの分析、リアルタイム分析、インタラクティブ分析等がある

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です