Amazon EMR での Apache Hive を使用した DynamoDB データの処理 - Amazon DynamoDB

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 タスクを実行します。