Processar instruções em HiveQL
O Hive é uma aplicação executada no Hadoop que consiste em um framework orientado a lote para a execução de trabalhos do MapReduce. Quando você emite uma instrução HiveQL, o Hive determina se ele pode retornar os resultados imediatamente ou se ele deve enviar um trabalho do MapReduce.
Por exemplo, considere a tabela ddb_features (de Tutorial: Como trabalhar com o Amazon DynamoDB e o Apache Hive). A consulta do Hive a seguir imprime as abreviações de estado e o número de conferências em cada:
SELECT state_alpha, count(*) FROM ddb_features WHERE feature_class = 'Summit' GROUP BY state_alpha;
O Hive não retorna os resultados imediatamente. Em vez disso, ele submete um trabalho do MapReduce, que é processado pelo framework do Hadoop. O Hive aguardará até que o trabalho seja concluído antes de mostrar os resultados da 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)
Monitorar e cancelar trabalhos
Quando o Hive executa um trabalho do Hadoop, ele imprime a saída desse trabalho. O status da conclusão do trabalho é atualizado à medida que o trabalho avança. Em alguns casos, o status pode não ser atualizado por um longo período. (Isso pode acontecer quando você está consultando uma tabela grande do DynamoDB que tem uma baixa capacidade de leitura provisionada configurada.)
Caso precise cancelar o trabalho antes que ele seja concluído, digite Ctrl+C
a qualquer momento.