Impala
Impala
O Impala fornece consultas SQL rápidas e interativas diretamente nos dados do Apache Hadoop armazenados no HDFS, HBase ou no Object Storage Service (OBS). Além de usar a mesma plataforma de armazenamento unificada, o Impala também usa os mesmos metadados, sintaxe SQL (Hive SQL), driver ODBC e interface de usuário (UI de consulta de Impala no Hue) como Apache Hive. Isso fornece uma plataforma familiar e unificada para consultas em tempo real ou orientadas a lotes. Impala é uma adição às ferramentas disponíveis para consultar Big Data. O Impala não substitui as estruturas de processamento em lote construídas em MapReduce como o Hive. Hive e outras estruturas construídas no MapReduce são mais adequados para jobs em lote de longa duração.
O Impala oferece os seguintes recursos:
- Recursos de SQL-92 mais comuns do Hive Query Language (HiveQL), incluindo SELECT, JOIN e funções agregadas
- Armazenamento HDFS, HBase e OBS, incluindo:
- Formatos de arquivo HDFS: arquivos de texto delimitados, Parquet, Avro SequenceFile e RCFile
- Codecs de compressão: Snappy, GZIP, Deflate, BZIP
- Interfaces comuns de acesso a dados, incluindo:
- Driver JDBC
- Driver ODBC
- Hue Beeswax e a interface de consulta de Impala
- Interface de linha de comando impala-shell
- Autenticação de Kerberos
Impala aplica-se a análise off-line (como log e análise de status de cluster) de consultas de dados em tempo real, mineração de dados em larga escala (como análise do comportamento do usuário, análise da região de interesse e exibição da região) e outros cenários.
Para mais informações sobre o Impala, visite https://impala.apache.org/impala-docs.html.
Impala consiste em três papéis: Impala Daemon (Impalad), Impala StateStore e Serviço de catálogo do Impala.
Impala Daemon
O componente principal do Impala é o Impala daemon, fisicamente representado pelo processo impalad.
Algumas das principais funções que um Impala daemon executa são:
- Executa em todos os nós de dados.
- Lê e grava em arquivos de dados.
- Aceita consultas transmitidas do comando impala-shell, Hue, JDBC ou ODBC.
- Paralela às consultas e transmite os resultados da consulta intermediária de volta ao coordenador central.
- Invoca um nó para retornar os resultados da consulta ao cliente.
Os Impala daemons estão em constante comunicação com o StateStore para confirmar quais daemons estão íntegros e podem aceitar novos trabalhos.
Impala StateStore
O componente do Impala conhecido como StateStore verifica a integridade de todos os Impala daemons em um cluster e continuamente retransmite suas descobertas para cada um desses daemons. Ele é fisicamente representado por um processo de daemon chamado statestored. Você só precisa de tal processo em um host em um cluster. Se um Impala daemon ficar off-line devido à falha de hardware, erro de rede, problema de software ou outro motivo, o StateStore informa todos os outros Impala daemons para que futuras consultas possam evitar solicitações ao Impala daemon inacessível.
Serviço de catálogo do Impala
O componente do Impala conhecido como Serviço de catálogo retransmite as alterações de metadados das instruções SQL do Impala para todos os Impala daemons em um cluster. É fisicamente representado por um processo de daemon chamado catalogd. Quando você cria uma tabela, carrega dados, e assim por diante através do Hive, você precisa emitir REFRESH ou INVALIDATE METADATA em um Impala daemon antes de executar uma consulta lá. O serviço de catálogo evita a necessidade de emitir declarações REFRESH e INVALIDATE METADATA quando as alterações de metadados são realizadas por instruções emitidas através do Impala.