Amazon EMR での Apache Hive を使用した DynamoDB データの処理
Amazon DynamoDB は、Amazon EMR で実行されるデータウェアハウスアプリケーションである Apache Hive と統合されています。Hive では、DynamoDB テーブルにあるデータの読み込み/書き込みが行えます。これにより、以下のことが可能になります。
-
SQL に似た言語 (HiveQL) を使用して、その時点の DynamoDB データがクエリできます。
-
DynamoDB テーブルから Amazon S3 バケットに (あるいはその逆の方向で) データをコピーできます。
-
DynamoDB テーブルから Hadoop Distributed File System (HDFS) に (あるいはその逆の方向で) データをコピーできます。
-
DynamoDB テーブルで JOIN オペレーションを実行できます。
トピック
概要
Amazon EMR は、膨大な量のデータの迅速かつコスト効率の良い処理を容易に行えるサービスです。Amazon EMR を使用するには、Hadoop のオープンソースフレームワークを実行する Amazon EC2 インスタンスの、マネージド型クラスターを起動します。Hadoopは、タスクがクラスター内の複数のノードにマッピングされている場合に、MapReduce アルゴリズムを実装するための分散型アプリケーションです。各ノードは、他のノードと並列的に指定された作業を処理します。それらの出力は単一のノードに集約され、最終的な結果が得られます。
Amazon EMR では、永続的または一時的のどちらかを選択して、クラスターを起動することができます。
-
永続的なクラスターは、シャットダウンされるまでその実行が継続します。永続的なクラスターは、データ分析やデータウェアハウスなどを含む、インタラクティブな使用に最適です。
-
一時的なクラスターは、ジョブフローの処理に必要な長さだけ実行された後、自動的にシャットダウンされます。一時的なクラスターは、スクリプトの実行など、定期的な処理タスクに最適です。
Amazon EMR のアーキテクチャと管理の詳細については、Amazon EMR 管理ガイドを参照してください。
ユーザーは、Amazon EMR クラスターを起動する際に、初期段階での Amazon EC2 インスタンスの数とタイプを指定します。また、(Hadoop 自体に加えて) クラスターで実行する他の分散型アプリケーションも指定する必要があります。これらのアプリケーションには Hue、Mahout、Pig、Spark などが含まれます。
Amazon EMR のアプリケーションについては、Amazon EMR リリース ガイドを参照してください。
クラスター構成に応じて、次の中の 1 つ以上のノードタイプが利用可能です。
-
リーダーノード – クラスターを管理します。MapReduce の実行可能ファイル、および生データのサブセットを、コアおよびタスクインスタンスグループに適切に分散させます。また、実行された各タスクのステータスを追跡し、インスタンスグループの正常性をモニタリングします。クラスターにはリーダーノードが 1 つのみ存在します。
-
コアノード – MapReduce タスクを実行しデータを保存します。その際、Hadoop Distributed File System (HDFS) を使用します。
-
タスクノード – (オプション) MapReduce タスクを実行します。