HCatalog - Mostrar Partições

Uma partição é uma condição para dados tabulares usados ​​para criar uma tabela ou visualização separada. SHOW PARTITIONS lista todas as partições existentes para uma determinada tabela base. As partições são listadas em ordem alfabética. Após o Hive 0.6, também é possível especificar partes de uma especificação de partição para filtrar a lista resultante.

Você pode usar o comando SHOW PARTITIONS para ver as partições existentes em uma tabela específica. Este capítulo descreve como listar as partições de uma tabela específica no HCatalog.

Mostrar declaração de partições

A sintaxe é a seguinte -

SHOW PARTITIONS table_name;

A consulta a seguir elimina uma tabela chamada employee -

./hcat –e "Show partitions employee;"

Na execução bem-sucedida da consulta, você verá a seguinte resposta -

OK
Designation = IT
Time taken: 5.3 seconds

Partição Dinâmica

HCatalog organiza tabelas em partições. É uma maneira de dividir uma tabela em partes relacionadas com base nos valores de colunas particionadas, como data, cidade e departamento. Usando partições, é fácil consultar uma parte dos dados.

Por exemplo, uma mesa chamada Tab1contém dados do funcionário, como id, nome, departamento e yoj (ou seja, ano de adesão). Suponha que você precise recuperar os detalhes de todos os funcionários que ingressaram em 2012. Uma consulta pesquisa toda a tabela em busca das informações necessárias. No entanto, se você particionar os dados do funcionário com o ano e armazená-los em um arquivo separado, isso reduz o tempo de processamento da consulta. O exemplo a seguir mostra como particionar um arquivo e seus dados -

O seguinte arquivo contém employeedata tabela.

/ tab1 / Employeedata / file1

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

Os dados acima são particionados em dois arquivos por ano.

/ tab1 / Employeedata / 2012 / file2

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

/ tab1 / Employeedata / 2013 / file3

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

Adicionando uma Partição

Podemos adicionar partições a uma tabela alterando a tabela. Vamos supor que temos uma mesa chamadaemployee com campos como Id, Nome, Salário, Designação, Departamento e yoj.

Sintaxe

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, ...)

A consulta a seguir é usada para adicionar uma partição ao employee tabela.

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

Renomeando uma Partição

Você pode usar o comando RENAME-TO para renomear uma partição. Sua sintaxe é a seguinte -

./hact –e "ALTER TABLE table_name PARTITION partition_spec RENAME TO PARTITION partition_spec;"

A consulta a seguir é usada para renomear uma partição -

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

Soltando uma partição

A sintaxe do comando usado para eliminar uma partição é a seguinte -

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

A consulta a seguir é usada para descartar uma partição -

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