[hive]Un método de optimización del almacenamiento de big data basado en el análisis de registros de colmena_王_Biblioteca Baidu
/Link? URL = jgtz 12 wnpiz nlt 19464 bsvsmbfxqofs 8 cuey 2 jngr 6m-5 pnpeaqctib 4 laqtioiq 4 BAE mxml 0 kwl 1klwgnmfxgu 05 mbj 4 lsg 9 bzjd 6 spg
2. método
2.1 Descripción general del método de optimización
Hive, como herramienta de almacenamiento de datos en la plataforma distribuida de código abierto Hadoop, se utiliza para mapear datos estructurados almacenados en HDFS en datos de acuerdo con las necesidades del usuario. . y puede proporcionar a los usuarios funciones de consulta HiveQL similares a SQL para convertir las consultas enviadas por los usuarios en ejecución de tareas Map-Reduce. La ventaja de Hive es que proporciona una interfaz de consulta similar a SQL para implementar rápidamente análisis estadísticos de datos sin escribir tareas especiales de Map-Reduce. Debido a esto, el almacén de datos general de Hive no se ha optimizado especialmente y su eficiencia de análisis de consultas también tiene mucho espacio para optimización [4].
Basado en el análisis del registro de consultas de HiveQL y las características de correlación de las estructuras de almacenamiento de datos existentes, se propone un método de optimización general para el almacenamiento de datos de HiveQL.
Esta estrategia considera que la optimización de un almacén de datos masivo de Hive dedicado se divide en los siguientes pasos: 1. Analice registros de consultas comunes y personalice la estructura de partición de datos según los hábitos del usuario. 2. Utilice una estructura de almacenamiento de columnas especialmente optimizada como formato de importación de datos. 3. Fusionar y comprimir campos repetidos y tablas de datos según el significado físico real de las tablas de datos y campos de las tablas. 4. Optimice el tipo de almacenamiento del campo en función del valor real del campo en la tabla de datos. 5. Escriba UDF y aplique la optimización anterior sin cambiar los hábitos del usuario. Entre ellos, 1.2. En la fase de importación de datos se han optimizado dos puntos, 3.4.5. Es la optimización de los campos de la tabla de datos y la estructura de la tabla, lo que debe llevarse a cabo utilizando UDF. A través del proceso de optimización anterior, se puede ahorrar en gran medida el tiempo de consulta de HiveQL y el espacio de datos ocupado en HDFS.
2.2 Optimización de particiones basada en registros de consultas
Los registros de Hive registran el estado de ejecución de Hive, lo que proporciona una gran ayuda para que este artículo analice los hábitos de uso de los operadores. Podemos analizar registros escribiendo la función EXPAIN de Hive. Al utilizar la función EXPAIN de Hive, podemos obtener el árbol de sintaxis abstracta de la declaración de consulta. A través del árbol de sintaxis abstracta, podemos obtener rápidamente la estructura de sintaxis de la declaración de consulta.
Por ejemplo, la siguiente declaración: seleccione la columna 1, suma(col 2) de la pestaña 1 grupo por la columna 1, a través del comando EXPLAIN, podemos obtener los siguientes resultados:
Árbol de sintaxis abstracta:
(TOK _ QUERY(TOK _ FROM(TOK _ tab ref(TOK _ nombre de la pestaña pestaña 1)))(TOK _ INSERT(TOK _ DESTINATION(TOK _ DIR TOK _ TMP _ ARCHIVO)) (TOK _ sele xpr(TOK _ TABLE _ OR _ COL 1))(TOK _ sele xpr(TOK _ FUNCTION suma(TOK _ TABLE _ OR _ COL 2)))(TOK _ group by(TOK _ TABLE _ OR _ OR)
Podemos usar expresiones regulares para capturar datos de características y obtener la estructura gramatical de esta oración. Al mismo tiempo, al escribir scripts de Shell y ejecutar comandos EXPLAIN en lotes, podemos comprenderlo rápidamente. Los hábitos gramaticales comunes de los usuarios y la optimización de la partición posterior brindan soporte para los datos. Al dividir los campos comúnmente utilizados por los usuarios, es conveniente ahorrar en gran medida el tiempo dedicado a leer datos del disco duro para algunas consultas comunes.
Por lo general, en un sistema Hive no optimizado, Hive escanea todas las entradas que cumplen con los requisitos de datos de entrada después de enviar cada consulta. Después de enviar una sola tarea, solo se pueden escanear los datos de algunas particiones clave de acuerdo con las restricciones de la tarea, lo que mejora en gran medida la eficiencia de la ejecución de consultas de Hive.
2.3 Seleccione el formato de almacenamiento de datos de Hive adecuado.
Al crear una tabla de datos en Hive, es necesario especificar el formato de almacenamiento del archivo. En la versión 0.90 de Hive, los formatos de datos de uso común se dividen en TEXTFILE, SEQUNCEFILE, RCFILE y formatos personalizados. Las principales diferencias entre los formatos anteriores son el almacenamiento de filas y el almacenamiento de columnas, y diferentes algoritmos de compresión. De acuerdo con las características de las tablas de datos de Hive y los hábitos de uso de los usuarios observados a través de los registros de Hive, al seleccionar un formato de almacenamiento de archivos apropiado, se puede mejorar enormemente la eficiencia de las consultas y reducir el tiempo de consulta.
4 Conclusión
Este artículo proporciona un método de optimización del almacenamiento de big data basado en el análisis de registros de Hive. A través de pruebas reales, se puede ver que el sistema de almacenamiento de datos de Hive que utiliza este método de optimización ha mejorado enormemente en términos de utilización del espacio en disco y eficiencia de las consultas.