Hive – Cargar datos en la tabla

Las tablas de Hive nos proporcionan el esquema para almacenar datos en varios formatos (como CSV). Hive proporciona varias formas de agregar datos a las tablas. Podemos usar consultas DML (lenguaje de manipulación de datos) en Hive para importar o agregar datos a la tabla. También se puede poner la tabla directamente en la colmena con comandos HDFS . En caso de que tengamos datos en bases de datos relacionales como MySQL, ORACLE, IBM DB2, etc., podemos usar Sqoop para transferir eficientemente PetaBytes de datos entre Hadoop y Hive. En este tutorial en particular, usaremos consultas DML de Hive para cargar o INSERTAR datos en la tabla de Hive.  

Para realizar la siguiente operación, asegúrese de que su colmena esté funcionando. A continuación se muestran los pasos para iniciar una colmena en su sistema local.

Paso 1: Inicie todo su Hadoop Daemon

start-dfs.sh                    # this will start namenode, datanode and secondary namenode
start-yarn.sh                   # this will start node manager and resource manager  
jps                             # To check running daemons

Paso 2: Inicie Hive desde la terminal

hive

En Hive con declaraciones DML, podemos agregar datos a la tabla de Hive de 2 maneras diferentes .

  • Uso del comando INSERTAR
  • Declaración de carga de datos

1. Uso del comando INSERTAR

Sintaxis:

INSERT INTO TABLE <table_name> VALUES (<add values as per column entity>);

Ejemplo:

Para insertar datos en la tabla, creemos una tabla con el nombre estudiante (de forma predeterminada, Hive usa su base de datos predeterminada para almacenar tablas de Hive) .

Dominio: 

CREATE TABLE IF NOT EXISTS student(
Student_Name STRING,
Student_Rollno INT,
Student_Marks FLOAT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','; 

Hemos creado con éxito la tabla de estudiantes en la base de datos predeterminada de Hive con el atributo Student_Name , Student_Rollno y Student_Marks respectivamente. 

Ahora, insertemos datos en esta tabla con una consulta INSERT.

INSERTAR consulta:

INSERT INTO TABLE student VALUES ('Dikshant',1,'95'),('Akshat', 2 , '96'),('Dhruv',3,'90');

Podemos verificar los datos de la tabla de estudiantes con la ayuda del siguiente comando.

SELECT * FROM student; 

2. Declaración de carga de datos

Hive nos brinda la funcionalidad para cargar entidades de tablas creadas previamente, ya sea desde nuestro sistema de archivos local o desde HDFS. La instrucción LOAD DATA   se utiliza para cargar datos en la tabla Hive.

Sintaxis:

LOAD DATA [LOCAL] INPATH '<The table data location>' [OVERWRITE] INTO TABLE <table_name>;

Nota:

  • El interruptor LOCAL especifica que los datos que estamos cargando están disponibles en nuestro sistema de archivos local. Si no se utiliza el conmutador LOCAL , la colmena considerará la ubicación como una ubicación de ruta HDFS.
  • El interruptor OVERWRITE nos permite sobrescribir los datos de la tabla.

Hagamos un archivo CSV (valores separados por comas) con el nombre data.csv ya que proporcionamos ‘,’ como un terminador de campo al crear una tabla en la colmena. Estamos creando este archivo en nuestro sistema de archivos local en ‘ /home/dikshant/Documents’ con fines de demostración.

Dominio:

cd /home/dikshant/Documents    // To change the directory 
touch data.csv                 // use to create data.csv file 
nano data.csv                  // nano is a linux command line editor to edit files 
cat data.csv                   // cat is used to see content of file

CARGAR DATOS en la tabla de la colmena del estudiante con la ayuda del siguiente comando.

LOAD DATA LOCAL INPATH '/home/dikshant/Documents/data.csv' INTO TABLE student;

Veamos el contenido de la tabla de estudiantes para observar el efecto con la ayuda del siguiente comando.

SELECT * FROM student;  

Podemos observar que hemos agregado exitosamente los datos a la tabla de estudiantes .

Publicación traducida automáticamente

Artículo escrito por dikshantmalidev y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *