Configuración de HIVE Metastore con MYSQL

Anonim

Por qué utilizar MySQL en Hive como Metastore:

  • De forma predeterminada, Hive viene con la base de datos derby como metastore.
  • La base de datos Derby puede admitir solo un usuario activo a la vez
  • Derby no se recomienda en entornos de producción.

Entonces la solución aquí es

  • Utilice MYSQL como meta almacenamiento en el backend para conectar a varios usuarios con Hive a la vez
  • MYSQL es la mejor opción para la tienda de metadatos independiente

Pasos para instalar y configurar la base de datos MySQL en Hive en Hadoop

Paso 1) En este paso vamos a realizar dos tareas

  1. Instalación de mysql-server
  2. Comprobando el servidor mysql y su proceso
  1. Usando el comando sudo apt-get install mysql-server, podemos descargar el servidor mysql

Instale MySQL como se muestra en la captura de pantalla

  1. Después de una instalación exitosa al final, MySQL se ejecutará como se muestra en la captura de pantalla a continuación

Paso 2) Instalación de MySQL Java Connector. Esto es para las dependencias de Java y el propósito de conexión.

Paso 3) Crear un enlace suave para el conector en el directorio lib de Hive . Esto es para un enlace suave entre Java y MySql.

Paso 4) Configurar el almacenamiento MySql en Hive

  • Escriba MySql -u root -p seguido de contraseña
  • Aquí -u representa el nombre de usuario root, p denota la contraseña
  • Después de ingresar el comando anterior, el usuario debe ingresar una contraseña válida y luego hacer clic en ingresar
  • Luego entrará en el modo shell MySql

Paso 5) Creación de nombre de usuario y contraseña para MySql, otorgando privilegios.

Tenemos que ejecutar los comandos como se muestra a continuación,

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;

Paso 6) Configurar hive-site.xml

  • Después del Paso 5, asigne el nombre de usuario y la contraseña a la base de datos MySQL y los privilegios otorgados.
  • Aquí configuraremos algunas propiedades en Hive para obtener una conexión con la base de datos MySQL .

De la captura de pantalla anterior, observamos lo siguiente. Aquí estamos definiendo 4 propiedades que podrían ser necesarias para establecer MYSQL como Meta store en Hive

Estos son los siguientes:

  1. Esta propiedad es para fines de URL de conexión. Aquí estamos definiendo ConnectionURL en esta propiedad. Actúa como conexión JDBC y también representa la ubicación de metastore
  2. Esta propiedad es para el nombre del controlador de conexión. Aquí mysql.jdbc.Driver es el valor respetado que tenemos que mencionar en la etiqueta de valor
  3. Esta propiedad se utiliza para definir el nombre de usuario de la conexión. En esto, definimos "hiveguru" como nombre de usuario
  4. Esta propiedad se utiliza para mencionar la contraseña de conexión. En esto, definimos contraseña como contraseña de usuario.

Una vez colocadas las propiedades en hive -site.xml tenemos que guardar manualmente (Ctrl + S) y cerrar el archivo. Después de cerrar este archivo, tenemos que crear una tabla de Hive y verificar los detalles de la tabla en el almacenamiento MySQL.

Coloque este código en hive-site.xml

hive-site.xml


javax.jdo.option.ConnectionURLjdbc:mysql://localhost/metastore?createDatabaseIfNotExist=truemetadata is stored in a MySQL server
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverMySQL JDBC driver class
javax.jdo.option.ConnectionUserNamehiveuseruser name for connecting to mysql server
javax.jdo.option.ConnectionPasswordhivepasswordpassword for connecting to mysql server

Paso 7) Cree la tabla "guru99" en Hive.

De la captura de pantalla anterior, podemos observar lo siguiente

  • Creación del nombre de la tabla "guru99" con dos nombres de columna
  • Los nombres de las columnas mencionados con su tipo de datos como uno es entero y otro es de tipo cadena

En el siguiente paso, vamos a comprobar si está almacenado en MySql o no.

Paso 8) Entrar en el modo shell MySql

De la captura de pantalla anterior, podemos observar lo siguiente

  • Primero tenemos que usar la base de datos como "usar metastore"
  • Una vez que elige la meta tienda, podemos verificar las tablas presentes en esta usando el comando "mostrar" tablas como se muestra en la captura de pantalla.
  • Independientemente de las tablas que se creen en Hive, los metadatos corresponden a que las tablas se almacenan en TBLS en la base de datos MySQL.
  • La "tabla Guur99" se crea en Hive, por lo que los metadatos correspondientes se almacenan en MySQL en TBLS.

Paso 9) Verificando si la tabla creada presenta MySQL o no

Al ingresar select * from TBLS, se mostrarán las tablas que creamos en el modo de shell de Hive

De la captura de pantalla anterior podemos observar las siguientes cosas:

  • El nombre de la tabla "guru99" que se creó es Hive se puede mostrar en el modo shell de MySQL
  • Además de esto, también proporcionará información como el tiempo de creación de la tabla, el tiempo de acceso y otras propiedades como se muestra en la captura de pantalla anterior.