Red de conocimiento informático - Aprendizaje de programación - La diferencia entre colmena1 y colmena2

La diferencia entre colmena1 y colmena2

1. Interfaz de usuario: cliente

CLI (shell de colmena), JDBC/ODBC (colmena de acceso a Java), WEBUI (colmena de acceso al navegador)

2 Metadatos: Metadatos que incluyen: nombre de la tabla. , base de datos a la que pertenece la tabla (el valor predeterminado es predeterminado), propietario de la tabla, campo de columna/partición, tipo de tabla (si es una tabla externa), directorio donde se encuentran los datos de la tabla, etc.

Se almacena en su propia base de datos Derby de forma predeterminada. Se recomienda utilizar MySQL para almacenar Metastore.

3.

Utilice HDFS para el almacenamiento y MapReduce. para el cálculo.

4. Controlador: Controlador

(1) Analizador (analizador SQL): convierte una cadena SQL en un árbol de sintaxis abstracta AST. Este paso generalmente lo realizan herramientas de terceros y la finalización de la biblioteca. , como antlr; análisis de sintaxis de AST, como si la tabla existe, si existen los campos, si hay errores en la semántica de SQL, etc.

(2) Compilador (plan físico): compila el AST para generar un plan de ejecución lógico.

(3) Optimizador (optimizador de consultas): optimiza el plan de ejecución lógica.

(4) Ejecución: convierte el plan de ejecución lógico en un plan físico ejecutable.

Hive recibe instrucciones de usuario (SQL) a través de una serie de interfaces interactivas proporcionadas a los usuarios, utiliza su propio controlador y lo combina con metadatos (MetaStore), convierte estas instrucciones en MapReduce y las envía a Hadoop para su ejecución. Finalmente, los resultados de la ejecución se envían a la interfaz de interacción del usuario.

Dos: función y ventajas de Hive:

Solución de almacenamiento de datos basada en Hadoop

Hive es una herramienta de almacenamiento de datos basada en Hadoop que puede estructurar datos archivos asignados a tablas de bases de datos.

Proporciona un lenguaje de consulta similar a SQL HQL (Hive Query Language)

Los datos no se colocan en Hive, sino en HDFS

Fuente abierta de Facebook, utilizada para resolver el problema de las estadísticas de datos de los registros estructurados masivos.

Executor que se ejecuta en Yarn

Ventajas:

Proporciona un modelo de optimización simple

La sintaxis SQL similar a HQL puede simplificar el desarrollo de MR

Admite consultas temporales de datos en HDFS y HBase

Admite funciones y formatos definidos por el usuario

Los controladores JDBC y ODBC maduros se pueden usar para ETL y BI

Procesamiento por lotes estable y confiable

Admite la ejecución en diferentes marcos informáticos

Desventajas:

Ni Hive ni HBase admiten consultas ad hoc:

La latencia de ejecución de Hive es relativamente alta, por lo que Hive generalmente se usa para análisis de datos que no requieren rendimiento en tiempo real

No puede expresar algoritmos iterativos

No es bueno en minería de datos

Hive generará automáticamente trabajos de MapReduce, pero estos trabajos generalmente no son lo suficientemente inteligentes

El ajuste de Hive es más difícil y la granularidad es más aproximada

.