Amazon EMR
Amazon EMR は、Apache Spark、Apache Hive、Apache HBase、Apache Flink、Apache Hudi、Presto などのオープンソースのツールを使用して膨大な量のデータを処理するための業界をリードするビッグデータのクラウドプラットフォームです。EMR では、従来のオンプレミスソリューションのコストの半分以下、標準的な Apache Spark の 3 倍以上の速さで、ペタバイト規模の分析を実行できます。実行時間が短いジョブの場合、クラスターを起動したり、停止したりして、使用したインスタンスの料金を秒単位で支払うことができます。実行時間が長いワークロードの場合、需要に合わせて自動的にスケールする可用性の高いクラスターを作成できます。Apache Spark や Apache Hive のようなオープンソースツールをオンプレミスにデプロイ済みの場合には、AWS Outposts で EMR クラスターを実行することもできます。
オンプレミスのワークロードを EMR に移行してコストを削減し、運用を簡素化する方法を確認する
Apache Hudi で変更データキャプチャ (CDC) とプライバシー規制用のパイプラインを簡素化する方法を確認する
利点
使いやすい
アナリスト、データエンジニア、データサイエンティストは EMR Notebooks を使用して、個人やチームで簡単に共同作業し、データの探索、処理、可視化を対話しながら進めることができます。使用する EMR アプリケーションのバージョンとコンピューティングのタイプを指定するだけです。クラスターのプロビジョニング、設定、調整は EMR によって行われるため、分析の実行に集中できます。
低コスト
EMR の料金体系は予想がしやすくシンプル: 1 秒ごとに課金され、最小課金時間は 1 分となっています。10 ノードの EMR クラスターの運用をわずか 0.15 USD/時間で開始できます。また、一時的なワークロードには Amazon EC2 スポットを利用し、実行時間の長いワークロードにはリザーブドインスタンスを利用することで、インスタンスのコストを 50~80% 削減できます。Savings Plans もご利用いただけます。
伸縮自在
オンプレミスのクラスターのような柔軟性の低いインフラストラクチャと異なり、EMR のコンピューティングとストレージは分離されているため、それぞれを独立してスケールさせることができ、Amazon S3 の階層型ストレージを利用できます。EMR では、コンピューティングインスタンスを、1 つでも、数百、数千でもプロビジョニングできるため、あらゆる規模のデータ処理に対応できます。インスタンスの数は、Auto Scaling (利用率に応じてクラスターサイズを管理する) を使用して自動的に増減でき、お支払いいただくのは実際に使用した分のみです。
信頼性
クラスターの調整やモニタリングにかかる労力を削減できます。EMR はクラウド向けに調整され、クラスターを継続的にモニタリングして失敗したタスクを再試行し、パフォーマンスの低いインスタンスを自動的に置き換えます。複数のマスターノードを使用すると、クラスターの可用性が高まり、ノード障害の発生時に自動的にフェイルオーバーします。EMR では最新の安定したオープンソースソフトウェアのリリースを提供するので、更新やバグ修正の管理が不要で問題が少なく、環境を維持するための努力が少なくて済みます。
セキュア
EMR では、EC2 インスタンスへのネットワークアクセスを制御するファイアウォールの各種設定が自動的に構成されます。また、Amazon Virtual Private Cloud (VPC) 内でクラスターを起動することも可能です。AWS Key Management Service で管理されるキーまたはお客様が管理するキーを使用して、サーバー側の暗号化またはクライアント側の暗号化を実行できます。EMR では伝送中の暗号化、保管時の暗号化、Kerberos を使った強力な認証など、その他の暗号化オプションも簡単に利用できます。AWS Lake Formation または Apache Ranger を使用して、きめ細かいデータアクセスコントロールをデータベース、テーブル、列に適用できます。
柔軟性
すべてのインスタンスに対してルートアクセスを使用することで、クラスターを包括的に制御できます。カスタム Amazon Linux AMI を使用して EMR クラスターを起動し、ブートストラップアクションでその他のアプリケーションを簡単にインストールできます。EMR では、クラスターを再起動しなくても、稼働中のクラスターでアプリケーションをその場で再構成できます。また、Hadoop 3.0 を使用すれば、ライブラリの依存関係を Docker コンテナにパッケージ化し、そのコンテナをジョブと共に送信することで、環境の依存関係を簡素化できます。
ユースケース
機械学習
EMR には Apache Spark MLlib、TensorFlow、Apache MXNet などの機械学習ツールが組み込まれ、スケーラブルな機械学習アルゴリズムが利用できます。また、カスタム AMI およびブートストラップアクションを使用すると、任意のライブラリやツールを追加した予測分析のためのツールセットを簡単に作成できます。
抽出、変換、読み込み (ETL)
EMR を使用すると、並べ替え、集計、結合などのデータ変換ワークロード (ETL) を大規模なデータセットですばやく、コスト効率よく実行できます。
クリックストリーム分析
Amazon S3 に保存したクリックストリームデータを Apache Spark および Apache Hive を使って分析することにより、ユーザーの区分やユーザーの好みを把握して、より効果的な広告配信を行うことができます。
リアルタイムストリーミング
Apache Flink と Apache Spark Streaming を組み合わせると、Apache Kafka、Amazon Kinesis、その他のデータソースからストリーミングされるイベントをリアルタイムに分析する、高い可用性と耐障害性を備えた長期間の実行に対応するストリーミングデータのパイプラインを EMR に構築できます。変換済みのデータセットは S3 や HDFS に永続的に保存し、インサイトは Amazon Elasticsearch Service で活用できます。
インタラクティブ分析
EMR ノートブックはオープンソースの Jupyter をベースにしたマネージド型の分析環境で、データサイエンティスト、アナリスト、開発者はデータの準備や可視化、同僚との共同作業、アプリケーションの構築、インタラクティブ分析の実行に活用できます。
ゲノミクス
EMRでは、膨大な量のゲノミクスデータや、その他の大量の科学データセットをすばやく効率的に処理することもできます。研究者は AWS で無料でホストされているゲノミクスデータにアクセスできます。