Procesamiento de instrucciones de HiveQL
Hive es una aplicación que se ejecuta en Hadoop, que es un marco de trabajo orientado al procesamiento por lotes para ejecutar trabajos de MapReduce. Cuando emite una instrucción de HiveQL, Hive determina si puede devolver los resultados de forma inmediata o si se debe enviar un trabajo de MapReduce.
Por ejemplo, considere la tabla ddb_features (de Tutorial: Uso de Amazon DynamoDB y Apache Hive). La siguiente consulta de Hive imprime las abreviaturas de los estados y el número de cumbres de cada uno de ellos:
SELECT state_alpha, count(*) FROM ddb_features WHERE feature_class = 'Summit' GROUP BY state_alpha;
Hive no devuelve los resultados de forma inmediata. En lugar de ello, envía un trabajo de MapReduce, que se procesa en el marco Hadoop. Hive espera hasta que se ha completado el trabajo para mostrar los resultados de la consulta:
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)
Monitorización y cancelación de trabajos
Cuando Hive lanza un trabajo de Hadoop, imprime el resultado de ese trabajo. El estado de realización del trabajo se actualiza a medida que este progresa. En algunos casos, el estado podría tardar mucho en actualizarse. Esto puede suceder cuando se consulta una tabla de DynamoDB de gran tamaño con un ajuste bajo de capacidad de lectura provisionada.
Si necesita cancelar el trabajo antes de que finalice, puede pulsar las teclas Ctrl+C
en cualquier momento.