Propriedades e opções de tabela
Aplica-se a: Databricks SQL Databricks Runtime
Define tags definidas pelo usuário para tabelas e exibições.
-
Uma propriedade table é um par chave-valor que você pode inicializar quando executa uma CREATE TABLE ou uma CREATE VIEW. Você pode DESDEFINIR propriedades de tabela existentes ou DEFINIR novas ou existentes usando ALTER TABLE ou ALTER VIEW.
Você pode usar as propriedades da tabela para marcar tabelas com informações não controladas pelo SQL.
-
O objetivo das opções de tabela é passar as propriedades de armazenamento para o armazenamento subjacente, como as propriedades SERDE para o Hive.
Uma opção de tabela é um par chave-valor que você pode inicializar quando executa uma CREATE TABLE. Você não pode
SET
ouUNSET
uma opção de tabela.
TBLPROPERTIES
Define uma ou mais propriedades de tabela em uma nova tabela ou exibição.
Você pode usar as propriedades da tabela para marcar tabelas com informações não controladas pelo SQL.
Sintaxe
TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parâmetros
property_key
A chave da propriedade. A chave pode consistir em um ou mais identificadores separados por um ponto ou um literal de cadeia de caracteres.
As chaves de propriedade devem ser exclusivas e diferenciam maiúsculas de minúsculas.
property_val
O valor da propriedade. O valor deve ser um
BOOLEAN
,STRING
,INTEGER
, ouDECIMAL
literal.
Exemplos
-- Create table with user defined table properties
> CREATE TABLE T(c1 INT) TBLPROPERTIES('this.is.my.key' = 12, this.is.my.key2 = true);
> SHOW TBLPROPERTIES T;
option.serialization.format 1
this.is.my.key 12
this.is.my.key2 true
transient_lastDdlTime 1649783569
DEFINIR TBLPROPERTIES
Define uma ou mais propriedades de tabela em uma tabela ou exibição existente.
Sintaxe
SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parâmetros
property_key
A chave da propriedade. A chave pode consistir em um ou mais identificadores separados por um ponto ou um literal de cadeia de caracteres.
As chaves de propriedade devem ser exclusivas e diferenciam maiúsculas de minúsculas.
property_val
O novo valor para a propriedade. O valor deve ser um
BOOLEAN
,STRING
,INTEGER
, ouDECIMAL
literal.
Exemplos
-- Alter the a table's table properties.
> ALTER TABLE T SET TBLPROPERTIES(this.is.my.key = 14, 'this.is.my.key2' = false);
> SHOW TBLPROPERTIES T;
option.serialization.format 1
this.is.my.key 14
this.is.my.key2 false
transient_lastDdlTime 1649783980
UNSET TBLPROPERTIES
Remove uma ou mais propriedades de tabela de uma tabela ou exibição.
Sintaxe
UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parâmetros
SE EXISTE
Uma cláusula opcional direcionando o Databricks SQL para não gerar um erro se qualquer uma das chaves de propriedade não existir.
property_key
A chave de propriedade a ser removida. A chave pode consistir em um ou mais identificadores separados por um ponto ou um literal de cadeia de caracteres.
As chaves de propriedade diferenciam maiúsculas de minúsculas. Se
property_key
não existir e o erro for gerado, a menos queIF EXISTS
tenha sido especificado.
Exemplos
-- Remove a table's table properties.
> ALTER TABLE T UNSET TBLPROPERTIES(this.is.my.key, 'this.is.my.key2');
> SHOW TBLPROPERTIES T;
option.serialization.format 1
transient_lastDdlTime 1649784415
OPTIONS
Define uma ou mais opções de tabela em uma nova tabela.
O objetivo das opções de tabela é passar as propriedades de armazenamento para o armazenamento subjacente, como as propriedades SERDE para o Hive.
A especificação de opções de tabela para tabelas Delta Lake também ecoará essas opções como propriedades de tabela.
Sintaxe
OPTIONS ( { property_key [ = ] property_val } [, ...] )
property_key
{ identifier [. ...] | string_literal }
Parâmetros
property_key
A chave da propriedade. A chave pode consistir em um ou mais identificadores separados por um ponto ou um literal de cadeia de caracteres.
As chaves de propriedade devem ser exclusivas e diferenciar maiúsculas de minúsculas.
property_val
O valor da propriedade. O valor deve ser um
BOOLEAN
,STRING
,INTEGER
, ouDECIMAL
literal.No Databricks SQL e Databricks Runtime 13.3 LTS e superior
property_val
pode ser uma expressão constante.
Exemplos
-- Create table with user defined table option
-- The options appears with an `option.` prefix.
> CREATE TABLE T(c1 INT) OPTIONS(this.is.my.key = 'blue' || 'green');
> SHOW TBLPROPERTIES T;
option.this.is.my.key bluegreen
option.serialization.format 2
Chaves de propriedade da tabela reservada
O Azure Databricks reserva algumas chaves de propriedade para seu próprio uso e gera um erro se você tentar usá-las:
external
Use CREATE EXTERNAL TABLE para criar uma tabela externa.
location
Use as
LOCATION
cláusulas de ALTER TABLE e CREATE TABLE para definir um local de tabela.owner
Use a cláusula de ALTER TABLE e ALTER VIEW para transferir a
[SET] OWNER TO
propriedade de uma tabela ou exibição. SET é permitido como uma palavra-chave opcional no Databricks SQL.provider
Use a
USING
cláusula de CREATE TABLE para definir a fonte de dados de uma tabela
Você não deve usar chaves de propriedade começando com o option
identificador.
Este identificador de prefixo será filtrado em SHOW TBLPROPERTIES.
O option
prefixo também é usado para exibir opções de tabela.
Teclas TBLPROPERTIES e OPTIONS comuns
As seguintes configurações são comumente usadas com o Delta Lake:
delta.appendOnly
: Defina paratrue
desativarUPDATE
eDELETE
operações.delta.dataSkippingNumIndexedCols
: Defina o número de colunas à esquerda para as quais coletar e considerar estatísticas.delta.deletedFileRetentionDuration
: Defina para um intervalo como'interval 7 days'
para controlar quandoVACUUM
é permitido excluir arquivos.delta.logRetentionDuration
: Defina para um intervalo que'interval 60 days'
controle quanto tempo o histórico é mantido para consultas de viagem no tempo.