Hive - Partición


Anuncios


Colmena organiza las tablas de particiones. Es una manera de dividir una tabla en piezas relacionadas con los valores de las columnas con particiones como fecha, ciudad y departamento. Con tabique de separación, es más fácil de consultar una parte de los datos.

Las tablas o las particiones se divide en segmentos, para dar una mayor estructura a los datos que se pueden utilizar para realizar consultas más eficiente. Depósito obras basadas en el valor de función de hash de una columna de una tabla.

Por ejemplo, una tabla llamada Tab1 contiene datos de un empleado como id, nombre, departamento y yoj (es decir, año de ingreso). Supongamos que usted necesita para recuperar los detalles de todos los empleados, quienes se unieron en el año 2012. LA consulta busca toda la tabla para obtener la información necesaria. Sin embargo, si los datos de empleado partición con el año y que lo guarde en un archivo independiente, se reduce el tiempo de procesamiento de consultas. El ejemplo siguiente se muestra cómo crear particiones en un archivo y sus datos:

El siguiente archivo contiene employeedata tabla.

/Tab1/employeedata/archivo1

id, name, dept, yoj
1, gopal, TP, 2012
2, kiran, HR, 2012
3, kaleel,SC, 2013
4, Prasanth, SC, 2013

Los datos anteriores se divide en dos archivos con año.

/Tab1/employeedata/ 2012/archivo2

1, gopal, TP, 2012
2, kiran, HR, 2012

/Tab1/employeedata/ 2013/file3

3, kaleel,SC, 2013
4, Prasanth, SC, 2013

Adición de una partición

Podemos añadir las particiones a una tabla, modificar la tabla. Supongamos que tenemos una tabla llamada empleado con campos como Id, Nombre, sueldo, designación, Dept, y yoj.

Sintaxis:

ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec
[LOCATION 'location1'] partition_spec [LOCATION 'location2'] ...;

partition_spec:
: (p_column = p_col_value, p_column = p_col_value, ...)

La siguiente consulta se utiliza para agregar una partición a la tabla de empleados.

hive> ALTER TABLE employee
> ADD PARTITION (year=’2013’)
> location '/2012/part2012';

Cambiar el nombre de una partición

La sintaxis de este comando es la siguiente.

ALTER TABLE table_name PARTITION partition_spec RENAME TO PARTITION partition_spec;

La siguiente consulta se utiliza para cambiar el nombre de una partición:

hive> ALTER TABLE employee PARTITION (year=’1203’)
   > RENAME TO PARTITION (Yoj=’1203’);

Eliminar una partición

La sintaxis siguiente se utiliza para eliminar una partición:

ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec, PARTITION partition_spec,...;

La siguiente consulta se utiliza para eliminar una partición:

hive> ALTER TABLE employee DROP [IF EXISTS]
   > PARTITION (year=’1203’);


Advertisements