hadoop hive hbase hcatalog

¿Qué es el uso de hcatalog en hadoop?



hive hbase (5)

Agregar otras publicaciones geniales Me gustaría agregar una imagen para una comprensión clara de cómo funciona HCatalog y de qué capa se encuentra en el clúster

Q: ¿cómo funciona exactamente?

Como mencionó, " HCatalog es una capa de administración de tablas y almacenamiento para Hadoop ", que proporciona una abstracción de alto nivel a otros marcos como MR, Spark y Pig al realizar operaciones de E / S a la capa de almacenamiento distribuido para las tablas de Hive.

HCatalog consta de 3 elementos clave

  1. SerDe : Liberación de serialización y deserialización para procesar varios formatos de datos.
  2. Meta store DB : Utiliza para almacenar el esquema de las tablas de Hive.
  3. WebHCat / HCatalog REST : capa UI / REST en la parte superior de la base de datos de meta store para clientes web.

Q: ¿Cómo usarlo?

Una vez que HCatalog se haya instalado y se haya ejecutado correctamente, haga lo siguiente en CLI

usage: hcat { -e "<query>" | -f "<filepath>" } [ -g "<group>" ] [ -p "<perms>" ] [ -D"<name> = <value>" ] -D <property = value> use hadoop value for given property -e <exec> hcat command given from command line -f <file> hcat commands in file -g <group> group for the db/table specified in CREATE statement -h,--help Print help information -p <perms> permissions for the db/table specified in CREATE statement

Ejemplo:

./hcat –e "SELECT * FROM employee;"

Soy nuevo en hadoop. Sé que HCatalog es una capa de administración de tablas y almacenamiento para Hadoop. Pero cómo funciona exactamente y cómo usarlo. Por favor, da un ejemplo simple.


Aquí hay un ejemplo muy básico de cómo usar HCATALOG.

Tengo una tabla en la colmena, TABLE NAME es STUDENT que se almacena en una de las ubicaciones de HDFS:

neethu 90 malini 90 sunitha 98 mrinal 56 ravi 90 joshua 8

Ahora, supongamos que quiero cargar esta tabla a pig para una mayor transformación de los datos. En este escenario, puedo usar HCATALOG:

Al usar la información de la tabla del almacén de metadatos de Hive con Pig, agregue la opción -useHCatalog cuando invoque pig:

pig -useHCatalog

(es posible que desee exportar HCAT_HOME ''HCAT_HOME = / usr / lib / hive-hcatalog /'')

Ahora cargando esta tabla en pig: A = LOAD ''student'' USING org.apache.hcatalog.pig.HCatLoader();

Ahora ha cargado la tabla en pig. Para verificar el esquema, simplemente haga un DESCRIBE en la relación.

DESCRIBE A

Gracias


En resumen, HCatalog abre los metadatos de Hive a otras herramientas de mapreduce. Cada herramienta mapreduce tiene su propia noción sobre los datos HDFS (por ejemplo, Pig ve los datos HDFS como un conjunto de archivos, Hive los ve como tablas). Al tener una abstracción basada en tablas, las herramientas mapreduce compatibles con HCatalog no necesitan preocuparse por dónde se almacenan los datos, en qué formato y ubicación de almacenamiento (HBase o HDFS).

Obtenemos la facilidad de WebHcat para enviar trabajos de forma REST completa si configura webhcat a lo largo de Hcatalog.


HCatalog admite la lectura y escritura de archivos en cualquier formato para el que se pueda escribir un Hive SerDe (serializador-deserializador). De forma predeterminada, HCatalog admite los formatos RCFile, CSV, JSON y SequenceFile. Para usar un formato personalizado, debe proporcionar InputFormat, OutputFormat y SerDe.

HCatalog se construye sobre el metastore de Hive e incorpora componentes de Hive DDL. HCatalog proporciona interfaces de lectura y escritura para Pig y MapReduce y utiliza la interfaz de línea de comandos de Hive para emitir comandos de exploración de metadatos y definición de datos.

También presenta una interfaz REST para permitir el acceso de herramientas externas a las operaciones de Hive DDL (lenguaje de definición de datos), como "crear tabla" y "describir tabla".

HCatalog presenta una vista relacional de los datos. Los datos se almacenan en tablas y estas tablas se pueden colocar en bases de datos. Las tablas también se pueden dividir en una o más claves. Para un valor dado de una clave (o conjunto de claves) habrá una partición que contiene todas las filas con ese valor (o conjunto de valores).

Edición: la mayoría del texto es de https://cwiki.apache.org/confluence/display/Hive/HCatalog+UsingHCat .


Hcatalog es la administración de metadatos del sistema de archivos Hadoop. Se puede acceder a Hcatalog a través de webhcat, que utiliza la API de descanso. Cualquiera que sea la tabla creada en hcatalog se puede acceder a través de hive y pig.