昨今、様々な領域でデータの収集を行い、経営戦略や企業運営に活用する「データ分析」の考え方が一般的になりつつあり、データの解析と活用がビジネス成功の鍵となっています。
このデータ分析が重要視されている社会において、Amazonが提供しているビッグデータ解析ツールであるAmazon EMRが注目されています。
「AWSでどのようにデータ分析をできるのか?」
「EMRって聞いたことあるけど何のことなのか?」
といった疑問を解消するために、Amazon EMRの概要や特徴、利用例等をご紹介していきます。
Amazon EMRとは?
Amazon EMR(Elastic MapReduce)は、オープンソースツールを利用した、ビッグデータを効率的に処理・分析を可能にするAWSのクラウドサービスです。
人気のあるオープンソースフレームワークであるHadoopやSparkを容易に使用することができ、大規模なデータ処理タスクを柔軟に行うことが可能となります。
Amazon EMRの特徴
Amazon EMRは様々な特徴を持っており、メリットが多くあります。
低コスト
Amazon EMRは、従量課金制が採用されており1秒単位での課金となり、上限を設定しておけば支払額が超えることはありません。EC2でのスポットインスタンスの使用をする等、使い方によってはオンデマンド料金と比較して最大で90%の削減も可能です。これにより、大規模なデータを解析するために必要なコストを大幅に抑えることが可能となります。
使いやすさ
Amazon EMRは、数クリックだけで簡単にクラスタを立ち上げ、管理することができます。また、既に使用している可能性のあるHadoopやSparkなどの人気のあるオープンソースフレームワークを使用してデータ解析を行うことができます。これにより、EMRを使うことでデータ解析作業の効率化と高速化が可能となります。
柔軟性
Amazon EMRはAuto Scalingの機能により、クラスターサイズを自動的に調整してくれる点も大きな特徴です。
プロビジョニング結果によって利用するインスタンス数も簡単に増減させることが出来ます。
またAmazon EMRではクラスターの再起動をせずにアプリケーションを再構築することも出来、データの取り扱いにおける柔軟性を大幅に高めることが可能です。
安全性
Amazon EMRは、送受信時や認証の暗号化などを簡単に実施でき、ファイアーウォールの設定に関してもAmazon EMRが自動的に構成してくれます。
AWS IAM(Identity and Access Management)と連携してアクセスを制御したり、VPC(Virtual Private Cloud)を利用するこおでネットワークの隔離もされます。セキュアな環境を維持することが可能で、データの安全性が確保されます。
Amazon EMRの利用例
Amazon EMRの応用範囲は広く、様々な業務で利用することができます。
データの抽出・変換・読み込み(ETL)
Amazon EMRは、大規模なデータのETL(抽出・変換・読み込み)作業を短時間で行うことができます。
EMRクラスタとAmazon S3を組み合わせることで、高速にデータを抽出、変換、読み込むことが可能です。これにより、DWHやBIなどの様々な分析業務を効率的に進めることができます。
機械学習
Amazon EMRは、Apache Spark MLlibやApache MXNetなどの機械学習ライブラリをサポートしており、大規模なデータセットに対する機械学習の処理を効率的に行うことができます。
精度の高い予測モデルの生成や、複雑なパターンの抽出など、高度なデータ解析を行うことが可能となります。
クイックストリームの分析
クリックストリームとはWebサイトの閲覧者が訪問から離脱までの間にどのページをどのような順序で遷移したかを記録したデータのことです。
Amazon EMRではAmazon S3に保存したクイックストリームデータをApache SparkやApache Hiveを使って分析することができ、大量のデータを解析し、ユーザに合わせたより効果的な広告配信を行うことが可能となります。
リアルタイム分析
Apache Spark StreamingやApache Flinkを利用すれば、リアルタイムのデータストリームを分析し、すぐに結果を得ることができます。これにより、リアルタイムに生成される大量のデータを、タイムリーに解析することが可能となります。
インタラクティブ分析
インタラクティブな分析とは、ディスプレイ等に表示された結果に従って、コンピューターに指示を与えながら分析を進めることです。
Apache ZeppelinやJupyterなどのノートブックを利用すれば、インタラクティブにデータ分析を行うことができ、データ解析の結果を直感的に理解し、効率的なデータ分析を行うことが可能となります。
Amazon EMRの料金体系
Amazon EMRの料金はいくつかの要素によって決まります。具体的な要素をご説明します。
インスタンス料金(EC2)
Amazon EMRの主要な費用は、クラスターで実行するためのAmazon EC2インスタンスに関連する料金です。EC2インスタンスの費用は、使用した時間と選択したインスタンスの種類(たとえば、m5.xlarge、r5.2xlargeなど)によります。
EMR料金
Amazon EMRの使用には、追加的な料金が発生します。これは「EMR料金」と呼ばれ、これはEC2インスタンス料金とは別に、クラスターの実行時間に基づいて請求されます。つまり、クラスターが稼働している時間に応じて課金されます。
Amazon S3料金
EMRと組み合わせて使用することが一般的なAmazon S3についても考慮する必要があります。データの保存に使用するAmazon S3の料金は、保存するデータの量と保存期間によって決まります。
追加サービス
また、追加的なAWSサービス(たとえば、Amazon CloudWatch、AWS Glueなど)を使用した場合、それらのサービスに対して別途料金が発生します。
これらの要素を合計すると、全体のAmazon EMRの料金が決まります。具体的な料金はAWSの公式ウェブサイト上の「Amazon EMRの料金」ページを参照して、最新の料金情報と料金計算ツールを利用してみてください。
Amazon EMRとRedshiftとの違い
Amazon EMRとRedshiftは、どちらもAWSのデータ解析ツールですが、用途や特徴は異なります。
EMR
EMRは、大量のデータを並列処理するためのフレームワークを提供します。そのため、大量のデータを高速に処理することが可能です。特に、マップリデュースタスクやSparkジョブなどの大規模なデータ処理タスクには、EMRが非常に有効です。
Redshift
一方、Redshiftは完全に管理されたデータウェアハウスサービスです。これは、集約、連結、並べ替えなどの複雑な分析クエリを高速に実行することが可能です。特に、大規模なレポート作成や複雑なデータ分析には、Redshiftが非常に有効です。

まとめ
Amazon EMRは、その低コスト、使いやすさ、柔軟性、安全性から、多くの企業でデータ解析ツールとして活用されています。
データの抽出・変換・読み込み(ETL)から機械学習、リアルタイム分析、インタラクティブ分析など、様々な機能を提供しており、大規模データ解析のための強力なツールと言えるでしょう。
株式会社KUIXではAWSを用いたシステムの開発やコンサルティングを行っています。本格的なAWS環境の構築・導入をご検討される際は、ぜひ一度ご連絡ください!お問い合わせはこちらから

