HCatalog - Mostrar particiones

Una partición es una condición para los datos tabulares que se utilizan para crear una tabla o vista separada. SHOW PARTITIONS enumera todas las particiones existentes para una tabla base determinada. Las particiones se enumeran en orden alfabético. Después de Hive 0.6, también es posible especificar partes de una especificación de partición para filtrar la lista resultante.

Puede usar el comando SHOW PARTITIONS para ver las particiones que existen en una tabla en particular. Este capítulo describe cómo enumerar las particiones de una tabla en particular en HCatalog.

Mostrar declaración de particiones

La sintaxis es la siguiente:

SHOW PARTITIONS table_name;

La siguiente consulta descarta una tabla llamada employee -

./hcat –e "Show partitions employee;"

En la ejecución exitosa de la consulta, puede ver la siguiente respuesta:

OK
Designation = IT
Time taken: 5.3 seconds

Partición dinámica

HCatalog organiza las tablas en particiones. Es una forma de dividir una tabla en partes relacionadas según los valores de las columnas divididas, como fecha, ciudad y departamento. Al usar particiones, es fácil consultar una parte de los datos.

Por ejemplo, una tabla llamada Tab1contiene datos del empleado como id, nombre, departamento y yoj (es decir, año de incorporación). Suponga que necesita recuperar los detalles de todos los empleados que se unieron en 2012. Una consulta busca en toda la tabla la información requerida. Sin embargo, si divide los datos de los empleados con el año y los almacena en un archivo separado, se reduce el tiempo de procesamiento de la consulta. El siguiente ejemplo muestra cómo particionar un archivo y sus datos:

El siguiente archivo contiene employeedata mesa.

/ tab1 / employeedata / file1

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

Los datos anteriores se dividen en dos archivos usando year.

/ tab1 / employeedata / 2012 / file2

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

/ tab1 / employeedata / 2013 / file3

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

Agregar una partición

Podemos agregar particiones a una tabla alterando la tabla. Supongamos que tenemos una tabla llamadaemployee con campos como Id, Nombre, Salario, Designación, Departamento 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 al employee mesa.

./hcat –e "ALTER TABLE employee ADD PARTITION (year = '2013') location '/2012/part2012';"

Cambiar el nombre de una partición

Puede utilizar el comando RENAME-TO para cambiar el nombre de una partición. Su sintaxis es la siguiente:

./hact –e "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:

./hcat –e "ALTER TABLE employee PARTITION (year=’1203’) RENAME TO PARTITION (Yoj='1203');"

Dejar caer una partición

La sintaxis del comando que se usa para eliminar una partición es la siguiente:

./hcat –e "ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec,.
   PARTITION partition_spec,...;"

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

./hcat –e "ALTER TABLE employee DROP [IF EXISTS] PARTITION (year=’1203’);"