Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-14 GMT+08:00

Impala

Impala

Impala proporciona consultas de SQL rápidas e interactivas directamente en sus datos de Apache Hadoop almacenados en HDFS, HBase o Object Storage Service (OBS). Además de utilizar la misma plataforma de almacenamiento unificado, Impala también utiliza los mismos metadatos, sintaxis de SQL (Hive SQL), controlador de ODBC e interfaz de usuario (UI de consulta de Impala en Hue) que Apache Hive. Esto proporciona una plataforma familiar y unificada para consultas en tiempo real o por lotes. Impala es una adición a las herramientas disponibles para la consulta de big data. Impala no reemplaza los marcos de procesamiento por lotes construidos en MapReduce como Hive. Hive y otros marcos construidos sobre MapReduce son los más adecuados para trabajos por lotes de larga duración.

Impala proporciona las siguientes características:

  • Características más comunes de SQL-92 de Hive Query Language (HiveQL) incluidos SELECT, JOIN y funciones agregadas
  • Almacenamiento de HDFS, HBase y OBS, que incluye:
    • Formatos de archivo HDFS: archivos de texto delimitados, Parquet, Avro, SequenceFile y RCFile
    • Códecs de compresión: Snappy, GZIP, Deflate, BZIP
  • Interfaces de acceso a datos comunes que incluyen:
    • Controlador de JDBC
    • Controlador de ODBC
    • Hue Beeswax y la UI de consulta de Impala
  • Interfaz de línea de comandos de impala-shell
  • Autenticación de Kerberos

Impala se aplica al análisis fuera de línea (como el análisis de estado de log y clúster) de consultas de datos en tiempo real, minería de datos a gran escala (como el análisis del comportamiento del usuario, el análisis de la región de interés y la visualización de la región) y otros escenarios.

Para obtener más información sobre Impala, visite https://impala.apache.org/impala-docs.html.

Impala consta de tres roles: Impala Daemon (Impalad), Impala StateStore y Impala Catalog Service.

Impala Daemon

El componente central de Impala es el demonio Impala, físicamente representado por el proceso impalad.

Algunas de las funciones clave que realiza un Impala daemon son:

  • Se ejecuta en todos los nodos de datos.
  • Lee y escribe en archivos de datos.
  • Acepta consultas transmitidas desde el comando impala-shell, Hue, JDBC u ODBC.
  • Paraleliza las consultas y transmite los resultados intermedios de la consulta de vuelta al coordinador central.
  • Invoca un nodo para devolver los resultados de la consulta al cliente.

Los Impala daemons están en comunicación constante con StateStore para confirmar qué daemons están sanos y pueden aceptar nuevos trabajos.

Impala StateStore

El componente de Impala conocido como StateStore comprueba la salud de todos los Impala daemons en un clúster, y continuamente transmite sus hallazgos a cada uno de esos daemons. Está físicamente representado por un proceso de daemon llamado statestored. Solo necesita un proceso de este tipo en un host de un clúster. Si un Impala daemon se desconecta debido a una falla de hardware, error de red, problema de software u otra razón, el StateStore informa a todos los demás Impala daemons para que futuras consultas puedan evitar hacer solicitudes al Impala daemon inalcanzable.

Impala Catalog Service

El componente de Impala conocido como el Catalog Service retransmite los cambios de metadatos de las sentencias de Impala SQL a todos los Impala daemons en un clúster. Está físicamente representado por un proceso daemon llamado catalogd. Cuando crea una tabla, carga datos, y así sucesivamente a través de Hive, necesita ejecutar REFRESH o INVALIDATE METADATA en un Impala daemon antes de ejecutar una consulta allí. El servicio de catálogo evita la necesidad de emitir sentencias REFRESH e INVALIDATE METADATA cuando los cambios de metadatos son realizados por sentencias emitidas a través de Impala.