Traitement des instructions HiveQL - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Traitement des instructions HiveQL

Hive est une application s'exécutant sur Hadoop, qui est une infrastructure orientée lots pour exécuter des tâches MapReduce. Lorsque vous émettez une instruction HiveQL, Hive détermine s'il peut renvoyer les résultats immédiatement ou s'il doit soumettre une tâche MapReduce.

Prenons l'exemple de la table ddb_features (extraite de Didacticiel : Utilisation d'Amazon DynamoDB et d'Apache Hive). La requête Hive suivante affiche les abréviations d'État et le nombre de sommets dans chacun d'eux :

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

Hive ne retourne pas les résultats immédiatement. Au lieu de cela, il soumet une tâche MapReduce est traitée par l'infrastructure Hadoop. Hive attend que le travail soit terminé avant d'afficher les résultats de la requête :

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)

Surveillance et annulation de tâches

Lorsque Hive lance une tâche Hadoop, il affiche une sortie de cette tâche. L'état d'accomplissement de la tâche est mis à jour à mesure que la tâche progresse. Dans certains cas, il se peut que l'état ne soit pas mis à jour pendant une longue période (cela peut se produire lorsque vous interrogez une table DynamoDB de grande taille dont le paramètre de capacité de lecture approvisionnée est faible).

Si vous devez annuler la tâche avant la fin de son exécution, vous pouvez taper Ctrl+C à tout moment.