- 分析›
- Amazon EMR›
- 機能
Amazon EMR の特徴
使いやすい
概要
Amazon EMR は、ビッグデータ環境とアプリケーションの構築および運用を簡略化します。EMR の関連機能には、手軽なプロビジョニング、マネージド型スケーリング、クラスターの再設定、共同開発用の EMR Studio などがあります。
数分でクラスターをプロビジョニング
EMR クラスターは数分で起動できます。インフラストラクチャのプロビジョニングやクラスターの設定、構成、調整に頭を悩ませる必要はありません。これらのタスクを EMR に任せて、差別化できるビッグデータアプリケーションの開発に集中できます。
ビジネスニーズに合わせてリソースを簡単にスケール
EMR Managed Scaling ポリシーを利用して、簡単にスケールアウト/スケールインできます。また EMR クラスターでは、使用量やパフォーマンスのニーズに合わせてコンピューティングリソースを自動的に管理できます。これにより、クラスターの使用率が向上し、コストが削減できます。
EMR Studio
R、Python、Scala、PySpark で記述されたデータエンジニアリングおよびデータサイエンスアプリケーションを、データサイエンティストやデータエンジニアが簡単に開発、視覚化、デバッグできるようにする統合開発環境 (IDE) です。EMR Studio は、完全管理型の Jupyter Notebook と、デバッグを簡素化する Spark UI や YARN Timeline Service などのツールを提供します。
ワンクリックで高可用性を実現
YARN、HDFS、Apache Spark、Apache HBase、Apache Hive などのマルチマスターアプリケーションのために、高可用性をワンクリックで設定できます。マルチマスターサポートを備えると、EMR によってこれらのアプリケーションが高可用性で設定されます。障害発生時には、予備のマスターに自動的にフェイルオーバーして、クラスターの破損を防げます。また、異なるラックにマスターノードを置き換え、同時障害のリスクを軽減できます。ホストをモニタリングして障害を検知し、問題が検出された場合、新しいホストがプロビジョニングされ、自動的にクラスターに追加されます。
EMR Managed Scaling
可能な限り最小のコストで最高のパフォーマンスを発揮できるよう、クラスターのサイズを自動的に変更できます。EMR マネージドスケーリングで、コンピューティングに関する最小と最大の制限をクラスターに指定すると、最適なリソース使用量で最良のパフォーマンスとなるように、クラスターのサイズが Amazon EMR により自動的に変更されます。クラスター上で実行中のワークロードに関連する主要なメトリクスが、EMR マネージドスケーリングにより継続的にサンプリングされます。
実行中のクラスターを簡単に再設定
EMR クラスターで実行中のアプリケーション (Apache Hadoop、Apache Spark、Apache Hive、Hue など) の設定を変更できるようになりました。クラスターの再起動は不要です。EMR のアプリケーション再設定機能を使用すると、シャットダウンやクラスターを再作成をせずに、実行中のアプリケーションを変更できます。Amazon EMR によって新しい設定が適用され、再設定済みのアプリケーションが適切に再起動されます。設定は、コンソール、SDK、CLI を使用して適用できます。
伸縮自在性
概要
Amazon EMR では、必要なキャパシティーを迅速かつ簡単にプロビジョニングでき、キャパシティーを自動または手動で追加、削除できます。これは、処理要件が変動しやすい、または予測不可能な場合に非常に便利です。例えば、処理のほとんどが夜間に発生する場合、日中は 100 個のインスタンス、夜間は 500 個のインスタンスが必要になることがあります。または、短期間に大量のキャパシティーが必要な場合もあるかもしれません。Amazon EMR では、数百、数千のインスタンスをすばやくプロビジョニングし、コンピューティング要件に合わせて自動的にスケールし、ジョブが完了したら (アイドルキャパシティへの支払いを避けるために) クラスターをシャットダウンすることができます。
能力の追加と削除における主な 2 つのオプションは次のとおりです。
複数のクラスターをデプロイ
さらにキャパシティが必要な場合、簡単に新しいクラスターを起動でき、必要なくなれば終了できます。使用できるクラスターの数に制限はありません。複数のユーザーやアプリケーションを使用している場合は、複数のクラスターを使用すると便利です。例えば、入力データを Amazon S3 に保存し、データ処理の必要な各アプリケーションでそれぞれ 1 つのクラスターを起動できます。たとえば、1 つのクラスターは CPU に最適化し、もう 1 つのクラスターはストレージなどに最適化するといった具合です。
実行中のクラスターのサイズを変更
Amazon EMR では、実行中のクラスターでの EMR Managed Scaling、自動スケーリング、手動によるサイズ変更が簡単に行えます。クラスターをスケールアウトして一時的に処理能力を追加したり、アイドル状態のキャパシティーがある場合、クラスターをスケールインしてコストを節減できます。たとえば、バッチ処理が発生した場合に数百のインスタンスをクラスターに追加し、処理の完了後に余分なインスタンスを削除できます。クラスターにインスタンスを追加すると、EMR では、プロビジョニングされたキャパシティーを使用できるようになった時点ですぐに使い始められます。スケールイン時には、EMR によりアイドル状態のノードが積極的に選択され、実行中のジョブへの影響を軽減します。
低コスト
概要
Amazon EMR は大量データの処理にかかるコストを節減することを目的としています。低価格を実現する特徴の例として、低価格な秒ごとの課金、Amazon EC2 スポットとの統合、Amazon EC2 リザーブドインスタンスとの統合、伸縮性、Amazon S3 との統合があります。
1 秒あたりの低料金
Amazon EMR の料金は 1 秒ごとに課金され、最小課金時間は 1 分です。スモールインスタンス (131.40 USD/年) の場合、0.015 USD/時間から利用を開始できます。詳細については、料金セクションを参照してください。
Amazon EC2 スポット統合
Amazon EC2 スポットインスタンスの料金は、インスタンスの需要と供給に基づいて変動しますが、指定した上限を超える支払いが発生することはありません。Amazon EMR により、スポットインスタンスの使用が簡単になるため、時間とコストの両方を節約できます。Amazon EMR クラスターには HDFS を実行する「コアノード」と、実行しない「タスクノード」があります。スポット料金が上がりインスタンスが失われる場合を考慮して、HDFS に保存したデータを失わないためにも、スポットにはタスクノードが適しています。(コアノードとタスクノードの詳細はこちらを参照してください)。インスタンスフリート、スポットインスタンスの割り当て戦略、EMR Managed Scaling などの多様なオプションを組み合わせることで、EMR の回復力とコストを最適化できるようになりました。詳細については、こちらのブログをお読みください。
Amazon S3 統合
EMR File System (EMRFS) により、EMR クラスターで、Amazon S3 を Hadoop のオブジェクトストアとして効率的かつ安全に使用できます。データを Amazon S3 に保存し、複数の Amazon EMR クラスターを使用して同じデータセットを処理できます。各クラスターは特定のワークロードに最適化できるため、1 つのクラスターで要件の異なる複数のワークロードを処理するより効率的です。例えば、I/O に最適化されたクラスターと、CPU に最適化されたクラスターで、それぞれ Amazon S3 の同じデータセットを処理することができます。さらに、入力および出力データを Amazon S3 に保管することで、不要になったクラスターをシャットダウンすることができます。
EMRFS は、Amazon S3 からの読み取りと S3 への書き込みのパフォーマンスに優れており、AWS Key Management Service (KMS) またはカスタマーマネージドキーを使用した S3 サーバー側または S3 クライアント側の暗号化をサポートしています。また、メタデータで追跡されたオブジェクトのリストと書き込み後の読み取りの整合性をチェックする、オプションの整合性ビューを提供します。また、Amazon EMR クラスターでは、EMRFS と HDFS の両方を使用できるので、クラスターのストレージと Amazon S3 のいずれかを選択する必要はありません。
AWS Glue データカタログの統合
AWS Glue データカタログをマネージドメタデータリポジトリとして使用して、Apache Spark や Apache Hive のために外部テーブルのメタデータを保存できます。また、スキーマの自動検出とバージョン履歴も利用できます。これによって、クラスター外部にある Amazon S3 の外部テーブルのために、メタデータを簡単に保持できます。
柔軟性のあるデータストア
概要
Amazon EMR では、Amazon S3、Hadoop Distributed File System(HDFS)、Amazon DynamoDB を含む複数のデータストアを利用できます。
Amazon S3
Amazon S3 は、耐久性、スケーラビリティ、安全性に優れた、低コストの高速ストレージサービスです。Amazon EMR は、EMR File System (EMRFS) によって、Hadoop のオブジェクトストアとして Amazon S3 を効率的かつ安全に使用できます。Amazon EMR では、Amazon S3 に保管された大量のデータをシームレスに処理できるよう Hadoop に多数の改善点を追加しました。また、EMRFS では、整合性のあるビューを使用して、Amazon S3 のオブジェクトのリストと書き込み後の読み取りの整合性をチェックできます。EMRFS は、暗号化された Amazon S3 オブジェクトを処理するために S3 サーバー側または S3 クライアント側の暗号化をサポートしており、ユーザーは AWS Key Management Service (KMS) またはカスタムキーベンダーを使用できます。
クラスターを起動すると、Amazon EMR では Amazon S3 からデータをクラスター内の各インスタンスにストリームし、直ちに処理を開始します。データを Amazon S3 に保存して Amazon EMR で処理するメリットの 1 つは、複数のクラスターを使用して同じデータを処理できる点です。例えば、メモリに合わせて最適化された Hive 開発クラスターと、CPU に合わせて最適化された Pig 運用クラスターがあり、いずれも同じ入力データセットを使用しているとします。
Hadoop 分散ファイルシステム (HDFS)
HDFS は Hadoop ファイルシステムです。Amazon EMR の現行のトポロジグループのインスタンスは、次の 3 つの論理インスタンスのグループ、つまり YARN リソースマネージャーと HDFS 名前ノードサービスを実行するマスターグループ、HDFS DataNode デーモンと YARN ノードマネージャーサービスを実行するコアグループ、YARN ノードマネージャーサービスを実行するタスクグループに属します。Amazon EMR では、コアグループのインスタンスに関連付けられたストレージに HDFS がインストールされます。
各 EC2 インスタンスは、"インスタンスストア" と呼ばれる、インスタンスにアタッチされた固定容量のストレージを備えています。また、Amazon EBS ボリュームをインスタンスに追加することで、インスタンスのストレージをカスタマイズすることもできます。Amazon EMR では、汎用 (SSD)、プロビジョンド (SSD)、マグネティックのボリュームタイプを追加できます。EMR クラスターに追加された EBS ボリュームでは、クラスターがシャットダウンした後はデータを維持しません。EMR ではクラスターが終了すると、自動的にボリュームがクリーンアップされます。
また、Amazon EMR のセキュリティ設定を使用して HDFS の完全な暗号化を有効にしたり、Hadoop Key Management Server を使用して HDFS 暗号化ゾーンを手動で作成したりもできます。 AWS KMS をキープロバイダーに設定すると、セキュリティ設定オプションを使用して、EBS ルートデバイスおよびストレージボリュームを暗号化できます。詳細については、「ローカルディスク暗号化」をご覧ください。
Amazon DynamoDB
Amazon DynamoDB は、高速フルマネージド NoSQL データベースサービスです。Amazon EMR は Amazon DynamoDB と直接統合しているため、迅速かつ効率的に Amazon DynamoDB に保存されたデータを処理し、Amazon EMR において Amazon DynamoDB、Amazon S3、HDFS の間でデータを転送できます。
その他の AWS データストア
また、Amazon Relational Database Service (クラウドでリレーショナルデータベースを簡単に設定、運用、スケールできるようにするウェブサービス)、Amazon Glacier (データのアーカイブやバックアップのために安全で耐久性のあるストレージを提供する、極めて低コストのストレージサービス)、Amazon Redshift (PB 規模の高速フルマネージドデータウェアハウスサービス) も使用できます。 AWS Data Pipeline は、さまざまな AWS コンピューティングおよびストレージサービス (Amazon EMR を含む) やオンプレミスのデータソース間で、指定された間隔でデータを確実に処理および移動するのに役立つウェブサービスです。
お気に入りのオープンソースアプリケーションを使用する
概要
Amazon EMR 上でのバージョンリリースにより、Apache Spark や Hadoop エコシステムのアプリケーションを含む、最新のオープンソースプロジェクトを EMR クラスタ上で簡単に選択して使用できます。ソフトウェアのインストールと設定は Amazon EMR によって行われるため、インフラストラクチャや管理タスクを気にせずに、データの価値を高めることにより多くの時間をかけることができます。
ビッグデータツール
概要
Amazon EMR では、Apache Spark、Apache Hive、Presto、Apache HBase などのパワフルで実績のある Hadoop ツールをサポートしています。データサイエンティストは、EMR を使うことで TensorFlow、Apache MXNet などの深層学習や機械学習も実行できます。また、ブートストラップアクションを使用すると、ユースケース専用のツールやライブラリを追加できます。データ分析担当者は、EMR Studio、Hue、EMR ノートブックを使用して、インタラクティブな開発、Apache Spark ジョブの作成、Apache Hive と Presto に対する SQL クエリの送信を行えます。データエンジニアは、EMR を使用して、データパイプラインの開発とデータ処理を行えます。また、Apache Hudi を使用して、増分データ管理や、レコードレベルでの挿入、更新、削除操作が必要なデータプライバシー関連のユースケースを簡素化できます。
データ処理と機械学習
Apache Spark は、大容量のデータセットを高速に処理するための Hadoop エコシステムのエンジンです。インメモリの耐障害性のある RDD (Resilient Distributed Datasets) と DAG (Directed Acyclic Graphs) を使用してデータ変換を定義します。Spark には、Spark SQL、Spark Streaming、MLlib、および GraphX も含まれています。Spark とは何か、および EMR での Spark の詳細をご覧ください。
Apache Flink は、高スループットのデータソースでリアルタイムのストリーム処理を簡単に実行できるようにするストリーミングデータフローエンジンです。Flink では、順不同のイベントのイベントタイムセマンティクス、1 回のみのセマンティクス、背圧制御、ストリーミングアプリケーションとバッチアプリケーションの両方の記述用に最適化された API をサポートしています。Flink とは何か、および EMR での Flink の詳細をご覧ください。
TensorFlow は、マシンインテリジェンスと深層学習アプリケーションのオープンソースの Symbokic Math ライブラリです。機械学習と深層学習の複数のモデルとアルゴリズムをまとめて、多彩なユースケースのために深淵なニューラルネットワークを訓練、実行できます。EMR での TensorFlow の詳細をご覧ください。
Amazon S3 データのレコードレベルでの管理
Apache Hudi は、増分データ処理とデータパイプラインの開発を簡素化するための、オープンソースのデータ管理フレームワークです。Apache Hudi を使用すると、Amazon S3 のレコードレベルでデータを管理し、変更データキャプチャ (CDC) とストリーミングデータの取り込みを簡素化できます。また、レコードレベルの更新と削除が必要なデータプライバシーのユースケースを処理するフレームワークが提供されます。Amazon EMR での Apache Hudi の詳細をご覧ください。
SQL
Apache Hive はオープンソースのデータウェアハウスであり、Hadoop 上で実行される分析パッケージです。Hive は SQL ベースの言語である Hive QL で運用され、データの構造化、集約、クエリの実行機能を備えます。Hive QL は標準的な SQL を超えるものであり、map/reduce 関数や、JSON や Thrift といった複雑で拡張可能なユーザー定義のデータタイプを完全にサポートしています。この機能により、テキスト文書やログファイルといった、複雑で構造化されていないデータソースの処理が可能になります。Hive では Java で書かれたユーザー定義の関数を使用したユーザー拡張が可能です。Amazon EMR では Amazon DynamoDB や Amazon S3 との直接統合など、Hive に多数の改善点を追加しました。例えば、Amazon EMR では Amazon S3 からの自動的なテーブルパーティションの読み込み、一時ファイルを使用しない Amazon S3 テーブルへのデータの書き込み、カスタム map/reduce 操作のスクリプトや追加のライブラリといった Amazon S3 のリソースへのアクセスが可能です。Hive とは何か、および EMR での Hive の詳細をご覧ください。
Presto は、オープンソースの分散 SQL クエリエンジンで、低レイテンシーでアドホックなデータ分析用に最適化されています。ANSI SQL 標準をサポートしており、複雑なクエリ、集計、結合、ウィンドウ関数を実行できます。Presto を使用して、Hadoop Distributed File System (HDFS) や Amazon S3 など、複数のデータソースのデータを処理できます。Presto とは何か、および EMR での Presto の詳細をご覧ください。
Apache Phoenix は、Apache HBase に保存されたデータに対して、ACID トランザクション機能を備えた低レイテンシーの SQL を可能にします。パフォーマンスを高めるためにセカンダリインデックスを簡単に作成し、同一の基盤となる HBase テーブルでさまざまなビューを作成できます。EMR での Phoenix の詳細をご覧ください。
NoSQL
Apache HBase は、Google の BigTable に基づいて設計されたオープンソースの非リレーショナル分散データベースです。Apache Software Foundation の Hadoop プロジェクトの一部として開発され、Hadoop Distributed File System (HDFS) 上で動作し、Hadoop に BigTable のような機能を提供します。HBase では、列ベースの圧縮と保存を使用することにより、耐障害性に優れた効率的な方法で大量の疎データを保存できます。さらに、HBase ではデータがメモリ内にキャッシュされるため、データをすばやく参照できます。HBase は、シーケンシャル書き込み操作用に最適化されており、バッチ挿入、更新、削除処理も非常に効率的です。HBase は Hadoop とシームレスに連携し、ファイルシステムを共有し、Hadoop ジョブへの直接入出力として機能します。また、HBase は Apache Hive と統合されており、HBase テーブルでの SQL のようなクエリ、Hive ベースのテーブルとの結合、Java Database Connectivity (JDBC) もサポートします。EMR を使用すると、S3 を HBase のデータストアとして使用できるため、コストを削減し、運用の複雑さを軽減できます。HDFS をデータストアとして使用する場合は、HBase を S3 にバックアップしたり、以前に作成したバックアップから復元できます。HBase とは何か、および EMR での HBase をご覧ください。
インタラクティブ分析
EMR Studio は、R、Python、Scala、PySpark で記述されたデータエンジニアリングおよびデータサイエンスアプリケーションを、データサイエンティストやデータエンジニアが簡単に開発、視覚化、デバッグできるようにする統合開発環境 (IDE) です。EMR Studio では、フルマネージド型の Jupyter ノートブックと、Spark UI や YARN Timeline Service などのツールを使用して、デバッグを簡素化できます。
Hue は Hadoop 用のオープンソースのユーザーインターフェイスで、Hive クエリの実行と開発、HDFS のファイルの管理、Pig スクリプトの実行と開発、テーブルの管理を簡単に行うことができます。また EMR の Hue を Amazon S3 と統合し、S3 に対して直接クエリを実行することや、HDFS と Amazon S3 間で簡単にファイルを転送することができます。Hue と EMR の詳細をご覧ください。
Jupyter Notebook はオープンソースのウェブアプリケーションで、ライブコード、等式、可視化ツール、ナラティブテキストを含むドキュメントを作成および共有するために使用できます。JupyterHub を使用すると、Jupyter Notebook サーバーの単一ユーザーの複数インスタンスをホストできます。JupyterHub で EMR クラスターを作成すると、EMR はクラスターのプライマリノードに Docker コンテナを作成します。このコンテナ内では、JupyterHub、Jupyter に必要なすべてのコンポーネント、Sparkmagic が実行されます。
Apache Zeppelin は、Spark を使用してデータ探索を実行するための、インタラクティブで共同作業が可能なノートブックを作成するためのオープンソース GUI です。Scala、Python、SQL (Spark SQL を使用)、または HiveQL を使用してデータを操作し、結果を迅速に視覚化できます。Zeppelin ノートブックは複数のユーザー間で共有でき、可視化した結果は外部のダッシュボードに公開できます。EMR での Zeppelin の詳細をご覧ください。
スケジューリングとワークフロー
Apache Oozie は Hadoop のワークフロースケジューラーです。ここでは、アクションの Directed Acyclic Graphs (DAG) を作成できます。また、Hadoop ワークフローをアクションまたは時間で簡単にトリガーできます。EMR での Oozie の詳細をご覧ください。 AWS Step Functions を使うと、サーバーレスワークフローの自動化をアプリケーションに追加できます。ワークフローのステップは、AWS Lambda 関数、Amazon Elastic Compute Cloud (EC2)、オンプレミスなど、どこでも実行できます。EMR での Step Functions の詳細はこちらを参照してください。
その他のプロジェクトとツール
EMR では、ほかにも多くの主要なアプリケーションとツールをサポートしています。具体例として、R、Apache Pig (データ処理と ETL)、Apache Tez (複雑な DAG の実行)、Apache MXNet (深層学習)、Ganglia (モニタリング)、Apache Sqoop (リレーショナルデータベースコネクタ)、HCatalog (テーブルおよびストレージ管理) が挙げられます。Amazon EMR チームは、ブートストラップアクションのオープンソースリポジトリを管理しています。このリポジトリは、追加ソフトウェアのインストールやクラスターの設定を行うために使用できるほか、独自のブートストラップアクションを記述する際のサンプルにもなります。
データのアクセスコントロール
概要
デフォルトでは、Amazon EMR アプリケーションプロセスは、他の AWS サービスを呼び出すときに EC2 インスタンスプロファイルを使用します。マルチテナントクラスターの場合、Amazon EMR は、Amazon S3 データへのユーザーアクセスを管理するための 3 つのオプションを提供します。
AWS Lake Formation との統合により、AWS Lake Formation できめ細かな認可ポリシーを定義および管理して、AWS Glue データカタログのデータベース、テーブル、列にアクセスできます。インタラクティブな EMR Spark ワークロードのために Amazon EMR Notebooks および Apache Zeppelin を通じて送信されるジョブに認可ポリシーを強制適用し、監査イベントを AWS CloudTrail に送信できます。この統合を有効にすることで、Security Assertion Markup Language (SAML) 2.0 と互換性のあるエンタープライズ ID システムから EMR Notebooks または Apache Zeppelin へのフェデレーション Single Sign-On も有効になります。
Apache Ranger とのネイティブ統合により、新規または既存の Apache Ranger サーバーをセットアップして、ユーザーが Hive Metastore 経由で Amazon S3 データのデータベース、テーブル、列にアクセスするためのきめ細かい認可ポリシーを定義および管理できます。 Apache Ranger は、Hadoop プラットフォーム全体の包括的なデータセキュリティを有効化、モニタリング、および管理するオープンソースツールです。
このネイティブ統合により、Apache Ranger Policy Admin サーバーで 3 種類の認可ポリシーを定義できます。Hive でテーブル、および列レベルの認証に対してテーブル、列、および行レベルの認証を設定できます。Spark では、テーブルおよび列レベルの認証を定義できます。そして、Amazon S3 にはプレフィックスとオブジェクトレベルの認証を定義できます。Amazon EMR は、対応する Apache Ranger プラグインをクラスターに自動的にインストールして構成します。これらの Ranger プラグインは Policy Admin サーバーとの間で認可ポリシーを同期し、データアクセスコントロールを強制適用して、監査イベントを Amazon CloudWatch Logs に送信します。
Amazon EMR User Role Mapper を使用すると、AWS IAM 許可を活用して AWS リソースへのアクセスを管理できます。ユーザー (またはグループ) とカスタム IAM ロール間のマッピングを作成できます。ユーザーまたはグループは、カスタム IAM ロールによって許可されたデータにのみアクセスできます。この機能は現在、AWS ラボを通じてご使用いただけます。
安定したハイブリッドエクスペリエンス
概要
AWS Outposts は、AWS インフラストラクチャ、AWS サービス、API、ツールをほぼすべてのデータセンター、コロケーションスペース、オンプレミス施設に拡張し、真に一貫したハイブリッドエクスペリエンスを実現するフルマネージドサービスです。 AWS Outposts での Amazon EMR では、EMR のために同じ AWS マネジメントコンソール、同じ Software Development Kit (SDK)、同じコマンドラインインターフェイス (CLI) を使用して、データセンターの EMR クラスターをデプロイおよび管理できます。
その他の機能
クラスターに適したインスタンスを選択
アプリケーションの要件に基づいて、クラスターにプロビジョニングする EC2 インスタンスのタイプ (スタンダード、ハイメモリ、ハイ CPU、ハイ I/O など) を選択できます。すべてのインスタンスへのルートアクセス権限を持ち、要件に合わせてクラスターを自在にカスタマイズできます。 サポートしている Amazon EC2 インスタンスタイプの詳細はこちらを参照してください。Amazon EMR では、Graviton2 ベースのインスタンスで Spark ワークロードのコストを最大 30% 削減し、パフォーマンスを最大 15% 向上させることができます。詳細はブログを参照してください。
クラスターに対するネットワークアクセスを制御
AWS クラウドの論理的に分離されたセクションである Amazon Virtual Private Cloud (VPC) でクラスターを起動できます。自分の IP アドレス範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定など、仮想ネットワーキング環境を完全に制御できます。 Amazon EMR と Amazon VPC の詳細はこちらを参照してください。
アプリケーションをデバッグ
クラスターでデバッグを有効にすると、Amazon EMR によってログファイルが Amazon S3 にアーカイブされ、それらのファイルにインデックスが付けられます。その後、コンソールのグラフィカルインターフェイスを使用して、ログを直観的な方法で閲覧できます。 Amazon EMR ジョブのデバッグの詳細はこちらを参照してください。
ユーザー、許可、暗号化を管理
IAM ユーザーやロールなどの AWS Identity and Access Management (IAM) ツールを使用してアクセスと許可を制御できます。例えば、特定のユーザーに対してクラスターへの読み取りを許可するが書き込みのアクセス許可は与えないといった制御を行えます。また、Amazon EMR のセキュリティ設定を使用することで、Amazon S3 暗号化のサポートや Kerberos 認証など、保管中および転送中の暗号化に関するさまざまなオプションを設定できます。 クラスターへのアクセスコントロールと Amazon EMR 暗号化オプションの詳細をご覧ください。
クラスターの監視
Amazon CloudWatch を使用して、Map と Reduce タスクの平均実行数など、カスタム Amazon EMR メトリクスをモニタリングできます。また、これらのメトリクスではアラームを設定できます。 Amazon EMR クラスターのモニタリングの詳細はこちらを参照してください。
追加のソフトウェアをインストール
ブートストラップアクションや Amazon Linux を実行しているカスタム Amazon マシンイメージ (AMI) を使用して、追加ソフトウェアをクラスターにインストールできます。ブートストラップアクションは、Amazon EMR がクラスターを起動したときにクラスターノードで実行されるスクリプトです。Hadoop が起動され、ノードがデータ処理を開始する前に実行されます。カスタム Amazon Linux AMI にソフトウェアを事前にロードして使用することもできます。 Amazon EMR のブートストラップアクションとカスタム Amazon Linux AMI の詳細をご覧ください。
イベントに応答
Amazon CloudWatch Eventsで Amazon EMR イベントタイプを使用して、Amazon EMR クラスターの状態の変化に対応できます。すぐに設定できる簡単なルールを使用してイベントを一致させ、それらを Amazon SNS トピック、AWS Lambda 関数、Amazon SQS キューなどに振り分けられます。 Amazon EMR クラスターのイベントの詳細はこちらを参照してください。
データを効率的にコピー
大量のデータを効率的に移動する MapReduce を使用するオープンソースツール Distcp の拡張機能である Amazon EMR の S3DistCp を使用すると、大量のデータを Amazon S3 から HDFS、HDFS から Amazon S3、および Amazon S3 バケット間で迅速に移行できます。 S3DistCp の詳細はこちらを参照してください。
定期的なワークフローをスケジュール
AWS Data Pipeline を使用して、Amazon EMR に関して繰り返し発生するワークフローをスケジューリングできます。AWS Data Pipeline は、AWS のコンピューティングサービス、ストレージサービス、オンプレミスのデータソース間のデータを指定した間隔で確実に移動、処理できるウェブサービスです。 Amazon EMR と AWS Data Pipeline の詳細はこちらを参照してください。
カスタム JAR
Java プログラムを書き込み、使用する Hadoop のバージョンにコンパイルして Amazon S3 にアップロードします。その後、Hadoop JobClient インターフェイスを使用して Hadoop ジョブをクラスターに送信します。 Amazon EMR を使ったカスタム JAR の処理の詳細はこちらを参照してください。
深層学習
Apache MXNet などの一般的な深層学習フレームワークを使用して、深層ニューラルネットワークを定義、トレーニング、デプロイできます。これらのフレームワークは、Amazon EMR クラスターで GPU インスタンスとともに使用できます。 Amazon EMR での MXNet の詳細はこちらを参照してください。