Hadoop serie de cuatro conceptos básicos --hive

La introducción de razones

  • Cuando un archivo o en la existencia de mesas HDFS HBase en una consulta es escribir manualmente un montón de código de MapReduce
  • Para las tareas de estadística, sólo se puede entender por los programadores de MapReduce puede conseguir
    mucho tiempo, se libera más energía que no hay efectivo

¿Qué es la Colmena

Colmena se basa en una capa uniforme de análisis, los datos de llevar a cabo investigaciones, estadísticas y análisis de HDFS través de sentencias SQL
colmena se basa en los datos de Hadoop herramientas de almacenamiento, se pueden mapear la estructura del archivo de datos a una tabla de base de datos, y proporcionar capacidades de una consulta SQL.
Colmena tiene la apariencia de una base de datos SQL, pero el escenario es completamente diferente, colmena sólo es adecuado para aplicaciones en las que el análisis estadístico masivo fuera de línea, es decir, el almacén de datos.

Colmena es un motor de análisis de SQL, la instrucción SQL se traduce en RM de empleo, y luego se ejecutan en la plataforma Hadoop, lograr un rápido desarrollo

1) en el almacenamiento de datos de procesamiento de la colmena HDFS

2) análisis de los datos subyacentes para lograr Colmena es MapReduce

3) la implementación de un programa que se ejecuta en Hilo

4) el contenido de la colmena se lee escribir menos, no soporta la reescritura y supresión de datos

5) tablas de la colmena son tabla puramente lógico, al igual que la tabla de definición, es decir, los metadatos tabla. Hadoop es esencialmente un directorio de metadatos / archivo para lograr el propósito de la separación del almacenamiento de datos

6) Colmena no se define específicamente en el formato de datos especificado por el usuario, para especificar tres propiedades:
- espacios de separación de las columnas, '', '\ t'
- delimitador de fila '\ n'
- datos de archivos leen método

ventajas y desventajas de la colmena

ventajas:

1, la escalabilidad, la escala de tamaño, las agrupaciones colmena puede extender libremente sin reiniciar la escala general del servicio: escala-extendido por medio de la cuota de clúster la escala de presión: una CPU servidor central i7-6700k 4 8 hilo, 8 de núcleo 16 hilos, la memoria 64G => 128G

2, ductilidad , Colmena soporte para funciones personalizadas, los usuarios pueden poner en práctica sus propias funciones de acuerdo a sus necesidades

3, buena tolerancia a fallos de ejecución, puede garantizar, incluso si hay un nodo problema, sigue las instrucciones SQL se pueden completar

desventajas:

. 1, Colmena no soporta operaciones CRUD nivel récord , pero el usuario puede crear una nueva tabla o consulta de los resultados de la consulta en un archivo (colmena-2.3.2 versión de la inserción de apoyo a nivel de registro actualmente seleccionado)

2, Colmena latencia de consulta es muy grave , ya que el proceso de inicio de MapReduce de empleo consumido durante mucho tiempo, no puede ser utilizado en el sistema de consulta interactiva. (Marque lento)

3, de la colmena no admite transacciones CRUD (CRUD no porque no lo hacen, se utiliza principalmente para OLAP (procesamiento analítico en línea), en lugar de OLTP (procesamiento de transacciones en línea), que es el procesamiento de datos de dos niveles).

Contraste Colmena y el RDBMS

Aquí Insertar imagen Descripciónresumen:

Colmena tiene la apariencia de una base de datos SQL, pero el escenario es completamente diferente, colmena sólo es adecuado para aplicaciones en las que el análisis estadístico masivo fuera de línea, es decir, el almacén de datos.

En comparación con las características tradicionales de datos relacionales

  1. diferente archivo de sección y sistema de almacenamiento de base de datos relacional, colmena utilizando hadoop de HDFS (hadoop sistema de archivos distribuido)
    de base de datos relacional es local para el sistema de archivos del servidor;

  2. Modelo de cálculo colmena utilizando MapReduce, y el modelo de base de datos relacional es el cálculo de su propio diseño;

  3. bases de datos relacionales están diseñados para consulta en tiempo real de los negocios, y la colmena es hacer minería de datos de diseño masivo de datos, la mala

  4. Colmena ampliar fácilmente su capacidad de almacenamiento y potencia de cálculo, esto es heredado hadoop, y base de datos relacional colmena mucho peor que esto.

arquitectura de la colmena

Aquí Insertar imagen Descripción

organización de los datos de la colmena

1, la estructura de memoria Colmena incluyendo bases de datos, tablas, vistas, y los datos de la tabla de particiones. Bases de datos, tablas, particiones, etc., lo que corresponde a un directorio en HDFS. datos de la tabla corresponden a los archivos en el directorio correspondientes a los HDFS.

2, todos los datos se almacenan en el HDFS colmena, hay un formato de almacenamiento de datos especializada, ya que el modo de lectura es Colmena (esquema en Leer), es compatible con los archivos de texto, SequenceFile, fichero de recursos o formato personalizado

3, sólo tiene que decirle a los datos y la línea de separación de columnas de separación, colmena al crear una tabla que puede analizar los datos

  • Colmena delimitador de columnas por defecto: carácter de control Ctrl + A, \ x01 de colmena

  • Colmena separador de fila predeterminado: nueva línea \ n

4, el modelo de colmena contiene los siguientes datos:

  • base de datos: el rendimiento de $ {} hive.metastore.warehouse.dir un directorio de carpetas en HDFS

  • tabla: el rendimiento de su directorio de base de datos en una carpeta en HDFS

  • tabla externa: la tabla es similar, pero que puede especificar cualquier directorio ubicación HDFS ruta de almacenamiento de datos

  • subdirectorio rendimiento en el directorio de mesa en HDFS: partición

  • Después de la actuación de varios archivos en HDFS se lleva a cabo bajo el mismo directorio tabla hash de hash o una partición de directorio basado en el valor de un campo: cubo

  • Ver: similar a la base de datos tradicional, de sólo lectura, crear una tabla basada en el básico

5, los metadatos de la colmena almacenada en el RDBMS, el resto de los datos, excepto los metadatos se almacenan en HDFS. Por defecto, Colmena metadatos almacenados en la base de datos Derby incorporada, que permite sólo una conexión de sesión, sólo apto para prueba sencilla. El entorno de producción real, NA, con el fin de dar soporte a sesiones de varios usuarios, se necesita un meta-base de datos independiente, usando MySQL como base de metadatos, Colmena interno para MySQL proporciona un buen apoyo.

6, colmena tabla interna en una tabla, tabla externa, la tabla de particiones y la cubeta de la tabla

Internas y externas tablas diferencia:

  • Eliminar una tabla interna, eliminar los metadatos de tablas y datos
  • crear tabla interna mesa
  • En los datos de importación a una tabla externa, los datos no se mueve al almacén de datos bajo su propio catálogo, lo que significa que la tabla de datos externa no es, por su
    propia conseguido!
  • Eliminar la tabla externa, metadatos quitar, hágalo de datos no elimina
  • crear ubicación de la tabla externa 'hdfs_path' tabla externa (debe ser un archivo)
  • La tabla externa se elimina cuando, Colmena acaba de eliminar
    metadatos de la tabla externa, los datos no se elimina!

tabla interna y la tabla externa utilizan para seleccionar:

En la mayoría de los casos, la diferencia entre ellos no era obvio, si todos los datos procesados ​​en la colmena, a continuación, tienden a elegir tabla interna, pero si la colmena y otras herramientas para ser procesados ​​por el mismo conjunto de datos, tabla externa es más apropiado.

El acceso a tablas externas almacenados en los datos iniciales en los HDFS, y luego convertidos por datos colmena en una tabla interna coexisten

El uso de tablas externas son una pluralidad de escenas para un conjunto de datos diferente de esquema

Se puede observar por la diferencia entre la tabla externa y la tabla interna y usar la comparación seleccionada, colmena de hecho, sólo los datos almacenados en el HDFS proporciona una nueva abstracción. En lugar de gestionar los datos almacenados en HDFS. Así que no importa crear una tabla interna o una tabla externa, se puede añadir o operaciones de borrado en los datos almacenados en la colmena tabla de directorio.
Tabla de particiones
esencia de la tabla de particiones es: crear una tabla en el archivo de datos subdirectorios partición de directorio, de manera que en el momento de la consulta, el programa MR podrá ser procesada por los subdirectorios de partición de datos, reducir el alcance de los datos que se lee.

Por ejemplo, la navegación web de historia producida cada día, historial de navegación debe ser construido para almacenar una tabla, pero, a veces, es posible que sólo tenga que analizar la historia de un día de
tiempo, se puede construir esta tabla para la tabla de particiones, todos los días en el que una partición de los datos de plomo;
por supuesto, el directorio de partición diaria, no debe ser un nombre de directorio (campo de partición)

Partición diferencia tablas y subtablas barril :

tabla de datos de la colmena se puede dividir según algunas operaciones sobre el terreno, se detalla la gestión de datos, que puede permitir que algunas consultas más rápidamente. Mientras tanto, las tablas y particiones también pueden dividirse en Cubos, principios HashPartitioner sub-barril principios de mesa y similares programación MapReduce.

Particiones y datos de gestión de sub para perfeccionar tanto la bañera, pero se añade una tabla de particiones manualmente para distinguir, desde Colmena modo de lectura, los datos no se agrega al modo de comprobación de partición, los paquetes de datos tabla de cubetas están divididas de acuerdo con ciertos cubos forma de hash Hash de archivo múltiples campos, por lo que la exactitud de los datos es mucho más alto

Publicado 44 artículos originales · ganado elogios 0 · Vistas 869

Supongo que te gusta

Origin blog.csdn.net/heartless_killer/article/details/102526323
Recomendado
Clasificación