Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Azure Databricks Runtime
Observação
Nas tabelas gerenciadas do Apache Iceberg, o Unity Catalog dá suporte apenas ao clustering líquido e interpreta as partições especificadas na cláusula como chaves de clustering para o clustering líquido.
Databricks recomenda o uso de clustering líquido para todas as novas tabelas Delta e tabelas Iceberg gerenciadas. Consulte tabelas gerenciadas do Unity Catalog no Azure Databricks para Delta Lake e Apache Iceberg e use o Liquid Clustering para tabelas.
A partição é composta por um subconjunto de linhas de uma tabela que compartilham o mesmo valor de um subconjunto predefinido de colunas chamadas colunas de particionamento. O uso de partições pode acelerar as consultas na tabela e a manipulação de dados.
Para usar partições, você define o conjunto de colunas de particionamento ao criar uma tabela incluindo a cláusula PARTITIONED BY.
Ao inserir ou manipular linhas em uma tabela, o Azure Databricks distribui automaticamente as linhas nas partições apropriadas.
Você também pode especificar a partição diretamente usando uma cláusula PARTITION.
Essa sintaxe também está disponível para tabelas que não usam o formato Delta Lake, para criar, modificar ou excluir partições rapidamente usando a instrução DROP.
PARTICIONADO POR
A cláusula PARTITIONED BY especificou uma lista de colunas ao longo da qual a nova tabela é particionada.
Sintaxe
PARTITIONED BY ( { partition_column [ column_type ] } [, ...] )
Parâmetros
-
Um identificador pode referenciar um
column_identifierna tabela. Se você especificar mais de uma coluna, não poderá haver colunas duplicadas. Se você fizer referência a todas as colunas na tabelacolumn_specification, um erro será gerado. -
A menos que se
partition_columnrefira a umcolumn_identifierna tabelacolumn_specification,column_typedefine o tipo de dados dopartition_column.Nem todos os tipos de dados com o suporte do Databricks SQL têm suporte de todas as fontes de dados.
Observações
A menos que você defina uma tabela do Delta Lake, as colunas de particionamento que referenciam as colunas na especificação de coluna sempre serão movidas para o final da tabela.
PARTITION
Use a cláusula PARTITION para identificar a partição a ser consultada ou manipulada.
Para identificar uma partição, é necessário nomear todas as suas colunas e associar cada uma a um valor. Você não precisa determinar uma ordem específica para elas.
A menos que você esteja adicionando uma nova partição a uma tabela existente, você pode omitir colunas ou valores para indicar que a operação se aplica a todas as partições associadas que correspondem ao subconjunto de colunas.
PARTITION ( { partition_column [ = partition_value | LIKE pattern ] } [ , ... ] )
Parâmetros
-
Uma coluna chamada coluna de partição da tabela. Não é possível especificar a mesma coluna duas vezes.
= partition_valueUm literal de um tipo de dados que corresponde ao tipo da coluna de partição. Se você omite um valor de partição, a especificação corresponde-se a todos os valores dessa coluna de partição.
LIKE patternEsse formulário só é permitido em ALTER SHARE ADD TABLE.
Corresponde a representação de cadeia de caracteres de
partition_columnparapattern.patterndeve ser um literal de cadeia de caracteres, conforme usado em LIKE.
Exemplos
-- Use the PARTTIONED BY clause in a table definition
> CREATE TABLE student(university STRING,
major STRING,
name STRING)
PARTITIONED BY(university, major)
> CREATE TABLE professor(name STRING)
PARTITIONED BY(university STRING,
department STRING);
-- Use the PARTITION specification to INSERT into a table
> INSERT INTO student
PARTITION(university= 'TU Kaiserslautern') (major, name)
SELECT major, name FROM freshmen;
-- Use the partition specification to add and drop a partition
> CREATE TABLE log(date DATE, id INT, event STRING)
USING CSV
PARTITIONED BY (date);
> ALTER TABLE log ADD PARTITION(date = DATE'2021-09-10');
> ALTER TABLE log DROP PARTITION(date = DATE'2021-09-10');
-- Drop all partitions from the named university, independent of the major.
> ALTER TABLE student DROP PARTITION(university = 'TU Kaiserslautern');