Amazon EMR
Amazon EMR は、業界をリードするビッグデータのクラウドプラットフォームで、Apache Spark、Apache Hive、Apache HBase、Apache Flink、Apache Hudi、Presto などのオープンソースツールを活用して膨大な量のデータを処理できます。Amazon EMR では、キャパシティのプロビジョニングやクラスターの調整などの時間のかかるタスクを自動化することで、ビックデータ環境の設定、運用、スケーリングが簡単に行えます。EMR では、従来のオンプレミスソリューションの半分以下のコスト、標準的な Apache Spark の 3 倍以上の速さで、ペタバイト規模の分析を実行できます。 AWS Outposts で EMR を使用することで、Amazon EC2 インスタンスで、Amazon Elastic Kubernetes Service (EKS) クラスターで、またはオンプレミスでワークロードを実行できます。
Apache Hudi で変更データキャプチャ (CDC) とプライバシー規制用のパイプラインを簡素化する方法を確認する
利点
使いやすい
アナリスト、データエンジニア、データサイエンティストは EMR ノートブック を使用して、共同作業を行い、データの探索、処理、可視化を対話しながら進めることができます。使用する 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 を使用して、きめ細かいデータアクセスコントロールをデータベース、テーブル、列に適用できます。
柔軟性
クラスターおよび個別の EMR ジョブを完全に制御できます。カスタム Amazon Linux AMIs で EMR クラスターを起動し、スクリプトを用いて簡単に設定して、第三者の追加ソフトウェアパッケージをインストールできます。EMR では、クラスターを再起動せずに、実行中のクラスターでアプリケーションをその場で再構成できます。 また、Docker コンテナにおけるランタイムの依存関係とライブラリを指定することで個別のジョブ用に実行環境をカスタマイズし、それらをジョブとともに送信できます。
デプロイオプション
Amazon EMR on Amazon EC2
Amazon EC2 で EMR にデプロイし、オンデマンドインスタンス、リザーブドインスタンス、スポットインスタンスを利用できます。EMR では、EC2 インスタンスのプロビジョニング、マネジメント、スケーリングを管理できます。AWS では、他のクラウドプロバイダーよりも多くのインスタンスオプションが利用可能で、ワークロードにおいて最小のコストで最高のパフォーマンスを発揮できるインスタンスを選択できます。
Amazon EMR on Amazon EKS
Amazon Elastic Kubernetes Service (EKS)で、EMRクラスターをプロビジョニングせずに、ビックデータのジョブをオンデマンドで実行し、リソース使用率を向上させ、インフラストラクチャの管理を簡素化できます。Amazon EKS では、AWS クラウドまたはオンプレミスで Kubernetes アプリケーションをフレキシブルに開始、実行、スケーリングできます。 Amazon EMR on EKS では、アプリケーション全体でコンピューティングおよびメモリリソースを共有できます。また、Kubernetes ツールの単一のセットを使用して、インフラストラクチャを一元的に監視および管理できます。
Amazon EMR on AWS Outposts
Amazon EMR は、AWS Outposts で利用可能で、オンプレミス環境でクラウドと同様に設定、デプロイ、管理、スケーリングできます。AWS Outposts を使用すると、ほぼすべてのデータセンター、コロケーションスペース、オンプレミスの施設で AWS のサービス、インフラストラクチャ、運用モデルを利用できます。
ユースケース
機械学習
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 で無料でホストされているゲノミクスデータにアクセスできます。