處理 HiveQL 陳述式 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

處理 HiveQL 陳述式

Hive 是在 Hadoop 上運行的應用程序,它是用於運行作業的批處理導向框架。 MapReduce 當您發出 HiveQL 語句時,Hive 確定它是否可以立即返回結果,或者是否必須提交作 MapReduce 業。

例如,考量 ddb_features 資料表 (從 教學課程:使用 Amazon DynamoDB 和 Apache Hive)。下列 Hive 查詢會列印州縮寫和各州境內山峰的數量:

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

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