HiveQL ステートメントの処理 - Amazon DynamoDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

HiveQL ステートメントの処理

Hive は、MapReduceジョブを実行するためのバッチ指向フレームワークとして、Hadoop上で動作するアプリケーションです。HiveQL ステートメントを発行すると、Hive は結果をすぐに返すことができるかどうか、あるいは、MapReduce ジョブを送信する必要があるかどうかを判断します。

例えば、(チュートリアル:Amazon DynamoDB と Apache Hive の使用 より) ddb_features テーブルを考えてみます。次の Hive クエリは、州の省略した名前と、それぞれの州に存在する山頂の数を出力します。

SELECT state_alpha, count(*) FROM ddb_features WHERE feature_class = 'Summit' GROUP BY state_alpha;

Hive は結果をすぐに返しません。代わりに、Hive からは MapReduceジョブが送信され、Hadoop フレームワークによって処理されます。Hive は、このジョブが完了するまで待機してから、クエリの結果を表示します。

AK 2 AL 2 AR 2 AZ 3 CA 7 CO 2 CT 2 ID 1 KS 1 ME 2 MI 1 MT 3 NC 1 NE 1 NM 1 NY 2 OR 5 PA 1 TN 1 TX 1 UT 4 VA 1 VT 2 WA 2 WY 3 Time taken: 8.753 seconds, Fetched: 25 row(s)

ジョブのモニタリングとキャンセル

Hive が Hadoop ジョブを起動すると、そのジョブからの出力が表示されます。表示されるジョブの完了ステータスは、ジョブの進捗に応じて更新されます。このステータスは、長時間更新されないこともります。(この現象は、読み込みキャパシティーのプロビジョニングが低く設定されている、大型の DynamoDB テーブルをクエリした場合に発生する可能性があります。)

Ctrl+C とタイプすることで、完了する前に任意のタイミングで、このジョブをキャンセルすることが可能です。