Consultas interativas do HDInsight
As consultas interativas geralmente são implementadas em um cenário de caminho frio, onde você tem dados em formato tabular e deseja fazer perguntas rapidamente e obter uma resposta interativa usando a sintaxe SQL. O diagrama a seguir mostra a arquitetura da solução para todas as soluções de caminho frio e caminho quente do HDInsight e chama a atenção para como as consultas interativas são tratadas por meio do Hive LLAP na camada de serviço. Os dados podem ser ingeridos via Hive, consultas interativas são processadas via Hive LLAP, e a saída colocada pode ser servida para aplicativos downstream, como o Power BI.
Arquitetura de consulta interativa
Agora vamos mergulhar na arquitetura do Interactive Query.
Os usuários do Interactive Query podem escolher entre uma variedade de clientes ODBC ou JDBC para executar consultas em seus dados corporativos, como o Data Analytics Studio, o Zeppelin Notebooks e o Visual Studio Code. Depois que um cliente envia uma consulta HiveQL, a consulta chega ao HiveServer, que é responsável pelo planejamento da consulta, otimização e filtragem de segurança. O Hive funciona dividindo as tarefas de análise entre nós distribuídos no cluster. As consultas são divididas em subtarefas e enviadas para nós que processam cada uma das subtarefas, e essas subtarefas são divididas ainda mais, e cada uma dessas tarefas lê dados da camada de armazenamento de dados corporativos subjacente. A arquitetura é otimizada devido ao uso de daemons LLAP "sempre ligados", que evitam tempos de inicialização, bem como o cache compartilhado na memória, que armazena dados que foram recuperados do armazenamento e compartilha os dados em todos os nós.
As unidades de estado sólido (SSD) utilizadas pelos clusters do Interactive Query combinam RAM e SSD em um pool gigante de memória que é usado pelo cache. Com essa combinação de recursos, um perfil de servidor típico pode armazenar em cache 4x mais dados, permitindo que você processe conjuntos de dados maiores e ofereça suporte a mais usuários. O cache de Consulta Interativa está ciente das alterações de dados subjacentes no armazenamento remoto (Armazenamento do Azure), portanto, se os dados subjacentes forem alterados e o usuário emitir uma consulta, os dados atualizados serão carregados na memória sem exigir nenhuma etapa adicional do usuário.