Hive - Particin



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 separacin, es ms fcil 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 ms eficiente. Depsito obras basadas en el valor de funcin 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, ao de ingreso). Supongamos que usted necesita para recuperar los detalles de todos los empleados, quienes se unieron en el ao 2012. LA consulta busca toda la tabla para obtener la informacin necesaria. Sin embargo, si los datos de empleado particin con el ao y que lo guarde en un archivo independiente, se reduce el tiempo de procesamiento de consultas. El ejemplo siguiente se muestra cmo 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 ao.

/Tab1/employeedata/ 2012/archivo2

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

/Tab1/employeedata/ 2013/file3

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

Adicin de una particin

Podemos aadir las particiones a una tabla, modificar la tabla. Supongamos que tenemos una tabla llamada empleado con campos como Id, Nombre, sueldo, designacin, 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 particin a la tabla de empleados.

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

Cambiar el nombre de una particin

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 particin:

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

Eliminar una particin

La sintaxis siguiente se utiliza para eliminar una particin:

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

La siguiente consulta se utiliza para eliminar una particin:

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