En este tutorial se pueden observar las operaciones de tabla, como la creación, modificación y eliminación de tablas en Hive.
En la captura de pantalla de abajo, estamos creando una tabla con columnas y modificando el nombre de la tabla.
1. Creando una tabla guru_sample con dos nombres de columna, como "empid" y "empname"
2. Visualización de tablas presentes en la base de datos guru99
3. Guru_sample que se muestra debajo de las tablas
4. Alterando la tabla "guru_sample" como "guru_sampleNew"
5. De nuevo, cuando ejecute el comando "show", se mostrará el nuevo nombre Guru_sampleNew
Dropping table guru_sampleNew:
Tipos de tablas y su uso:
Llegar a las tablas es como la forma en que creamos en las bases de datos relacionales tradicionales. Las funcionalidades como el filtrado, las uniones se pueden realizar en las tablas.
Hive se ocupa de dos tipos de estructuras de tabla, como tablas internas y externas , según la carga y el diseño del esquema en Hive.
Mesas internas
- Internal Table está estrechamente acoplada por naturaleza. En este tipo de tabla, primero tenemos que crear una tabla y cargar los datos.
- Podemos llamar a este como datos en el esquema .
- Al eliminar esta tabla, se eliminarán tanto los datos como el esquema.
- La ubicación almacenada de esta tabla será / user / hive / warehouse.
Cuándo elegir la tabla interna:
- Si los datos de procesamiento disponibles en el sistema de archivos local
- Si queremos que Hive administre el ciclo de vida completo de los datos, incluida la eliminación
Fragmento de código de muestra para tabla interna
1. Para crear la tabla interna
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);Row format delimitedFields terminated by '\t';
2. Cargue los datos en la tabla interna
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Muestra el contenido de la tabla.
Hive>select * from guruhive_internaltable;
4. Dejar caer la mesa interna
Hive>DROP TABLE guruhive_internaltable;
Si eliminó guruhive_internaltable, incluidos sus metadatos y sus datos se eliminarán de Hive.
De la siguiente captura de pantalla, podemos observar la salida
En el código anterior y en la captura de pantalla, hacemos las siguientes cosas,
- Crea la tabla interna
- Cargue los datos en la tabla interna
- Mostrar el contenido de la tabla
- Dejar caer la mesa interna
Mesas externas
- La mesa externa está débilmente acoplada por naturaleza. Los datos estarán disponibles en HDFS. La tabla se creará en datos HDFS.
- De otra manera, podemos decir que está creando un esquema sobre datos .
- En el momento de eliminar la tabla, solo elimina el esquema, los datos seguirán disponibles en HDFS como antes.
- Las tablas externas brindan una opción para crear múltiples esquemas para los datos almacenados en HDFS en lugar de eliminar los datos cada vez que se actualiza el esquema
Cuándo elegir una mesa externa:
- Si procesa datos disponibles en HDFS
- Útil cuando los archivos se utilizan fuera de Hive
Fragmento de código de muestra para tabla externa
1. Crear tabla externa
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING)Row format delimitedFields terminated by '\t'LOCATION '/user/guru99hive/guruhive_external;
2. Si no estamos especificando la ubicación en el momento de la creación de la tabla, podemos cargar los datos manualmente
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;
3. Muestra el contenido de la tabla.
Hive>select * from guruhive_external;
4. Dejar caer la mesa interna
Hive>DROP TABLE guruhive_external;
De la siguiente captura de pantalla, podemos observar la salida
En el código anterior, hacemos las siguientes cosas
- Crear la tabla externa
- Cargue los datos en la tabla externa
- Mostrar el contenido de la tabla
- Dejar caer la mesa externa
Diferencia entre tablas internas y externas
Característica | Interno | Externo |
---|---|---|
Esquema | Datos sobre el esquema | Esquema de datos |
Ubicación de almacenamiento | / usr / colmena / almacén | Ubicación HDFS |
Disponibilidad de datos | Dentro del sistema de archivos local | Dentro de HDFS |