Amazon EMRとは?AWSで覚えておきたい機能を簡単解説

この記事では、Amazon EMRの内容やメリット、利用例を紹介します。

Amazon EMRとは?AWSで覚えておきたい機能を簡単解説

Amazon EMRとは、Apache HadoopやApache Sparkなどのオープンソースツールを利用した、ビッグデータの分析が可能なAWSのサービスです。
一言で言うとマネージド型 Hadoop フレームワークです。

ビッグデータは文字通り膨大なデータを表します。ただ、量だけにとどまらず、文字、音声、画像、動画など、データの形態も様々です。このため、データに応じて柔軟に、しかも高速処理で対応できるようにする必要があります。

Amazon EMRはGoogleのフレームワークであるMapReduceをベースに実装されています。また、Amazon EMRの処理結果をAmazon S3をはじめとしたAWSの他のサービスと連携できます。

Amazon EMRのメリット

では、Amazon EMRのメリットは何でしょうか?

1つ目のメリットは、「使いやすさ」です。Amazon EMRの機能の一つである「Amazon EMR Notebook」は、EMRクラスターでクエリとコードをリモートで実行できるサーバーレスのノートブックです。この機能を活用することで、チーム内で対話をしながらデータを可視化し、分析を進めることができます。また、EMRクラスターのプロビジョニングや調整はEMRが行うため、ユーザーは分析に集中可能です。

2つ目のメリットは、「低コスト」です。Amazon EMRは、最小課金時間が1分、そして1秒毎に課金されます。なお、10ノードのEMRクラスターの使用を1時間あたり0.15USDで使用することができます。

3つ目のメリットは、「伸縮自在」です。例えば、Auto Scalingにより、利用率に応じてクラスターサイズを自動的に調整します。これにより、プロビジョニングの結果により、インスタンスの数を数百、数千と自動的に増減できます。

4つ目のメリットは、「セキュア」です。Amazon EMRでは、ファイアウォールの設定を自動的に構成されます。また、Amazon EMRでは、送受信中の暗号化、ケルベロスを使用した認証など、様々な暗号化機能を簡単に利用することができます。

Amazon EMRの利用例

ここでは、Amazon EMRの利用例を2つ紹介します。

機械学習ツール

1つ目は「機械学習ツール」としての活用です。

Amazon EMRには Apache Spark MLlibやApache MXNetなどの機械学習ツールが組み込まれており、スケーラブルな機械学習アルゴリズムが利用可能です。

リアルタイムストリーミング

2つ目は「リアルタイムストリーミング」です。

Apache Flink と Apache Spark Streaming を 組 み 合 わ せ る と 、ApacheKafka、Amazon Kinesis、その他のデータソースからストリーミングされるイベントをリアルタイムに分析する、高い可用性と耐障害性を備えた長期間の実行に対応するストリーミングデータのパイプラインを EMR に構築できます。変換済みのデータセットは S3や HDFS に永続的に保存し、インサイトは Amazon Elasticsearch Service で活用できます。

EMRとRedshiftの違い

最後に簡単に一言で説明します。
EMRは大量のデータを迅速に分散処理するフレームワーク。Redshiftは、様々なデータを集計、統合、分析のために保管しておく倉庫のようなものです。

EMR

並列処理をしてDBを高速で実行し、ビックデータ処理フレームワーク(Hadoop等)を使って、大規模なデータセットを処理及び分析するために使用。機械学習ツールとの連携ができる。

Redshift

Redshiftは、異なるタイプのデータ分析用。在庫、財務などの様々なソースからデータを集めるために使用。企業全体で、一貫して正確なレポートを作成するためや、Amazon QuickSightなどのBIツールでデーターを可視化できる。

参考資料
https://aws.amazon.com/jp/emr/