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ツールでデーターを可視化できる。