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 de tabela é um par chave-valor que podes inicializar quando executas um CREATE TABLE ou um CREATE VIEW. Você pode UNSET propriedades de tabela existentes ou SET 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. Não é possível
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;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
SET 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;
key value
---------------- -----
...
this.is.my.key 14
this.is.my.key2 false
...
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;
key value
-------------------------------- -----
... keys other that key and key2 ...
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 refletirá 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;
key value
---------------- -----
...
option.this.is.my.key bluegreen
...
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 cláusulas
LOCATION
de ALTER TABLE e CREATE TABLE para definir um local para a tabela.owner
Utilize a cláusula
[SET] OWNER TO
de ALTER TABLE e ALTER VIEW para transferir a propriedade de uma tabela ou vista. SET é permitido como uma palavra-chave opcional no Databricks SQL.provider
Use a cláusula
USING
de CREATE TABLE para definir a fonte de dados de uma tabela
Você não deve usar chaves de propriedade começando com o identificador option
.
Este identificador de prefixo será filtrado em SHOW TBLPROPERTIES.
O prefixo option
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 comotrue
para desativar as operaçõesUPDATE
eDELETE
. -
delta.dataSkippingNumIndexedCols
: Configure o número de colunas iniciais para as quais coletar e considerar as estatísticas. -
delta.deletedFileRetentionDuration
: Defina para um intervalo como'interval 7 days'
para controlar quandoVACUUM
tem permissão para excluir arquivos. -
delta.logRetentionDuration
: Defina um intervalo como'interval 60 days'
para controlar quanto tempo o histórico é mantido para consultas de viagens no tempo.