Aracılığıyla paylaş


Tablo özellikleri ve tablo seçenekleri

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Tablolar ve görünümler için kullanıcı tanımlı etiketleri tanımlar.

  • tablo özelliklerini

    Tablo özelliği, bir CREATE TABLE veya CREATE VIEW gerçekleştirdiğinizde başlatabileceğiniz bir anahtar-değer çiftidir. Var olan veya yeni tablo özelliklerini veya SET kullanarak ALTER TABLE yapabilirsiniz.

    SQL tarafından izlenmemiş bilgilerle tabloları etiketlemek için tablo özelliklerini kullanabilirsiniz.

  • tablo seçenekleri

    Tablo seçeneklerinin amacı, SERDE özellikleri gibi depolama özelliklerini temeldeki depolamaya, örneğin Hive'a aktarmaktır.

    Tablo seçeneği, bir CREATE TABLEişlemi gerçekleştirdiğinizde başlatabileceğiniz bir anahtar-değer çiftidir. Tablo seçeneğine SET veya UNSET yapamazsınız.

TBLPROPERTIES

Yeni bir tablo veya görünümde bir veya daha fazla tablo özelliği ayarlar.

SQL tarafından izlenmemiş bilgilerle tabloları etiketlemek için tablo özelliklerini kullanabilirsiniz.

Sözdizimi

TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametreler

  • property_key

    Özellik anahtarı. Anahtar, nokta ile ayrılmış bir veya daha fazla tanımlayıcıdan ya da bir karakter dizisi değişmezinden oluşabilir.

    Özellik anahtarları benzersiz olmalı ve büyük/küçük harfe duyarlı olmalıdır.

  • property_val

    özelliğinin değeri. Değer , BOOLEAN, STRINGINTEGERveya DECIMAL değişmez değer olmalıdır.

Örnekler

-- 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      12
this.is.my.key2   true
...

SET TBLPROPERTIES

Varolan bir tablo veya görünümde bir veya daha fazla tablo özelliğini ayarlar.

Sözdizimi

SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametreler

  • property_key

    Özellik anahtarı. Anahtar, nokta ile ayrılmış bir veya daha fazla tanımlayıcıdan ya da bir karakter dizisi değişmezinden oluşabilir.

    Özellik anahtarları benzersiz olmalı ve büyük/küçük harfe duyarlı olmalıdır.

  • özellik_değeri

    özelliği için yeni değer. Değer , BOOLEAN, STRINGINTEGERveya DECIMAL değişmez değer olmalıdır.

Örnekler

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

TBLPROPERTIES'i sıfırla

Bir tablo veya görünümden bir veya daha fazla tablo özelliğini kaldırır.

Sözdizimi

UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametreler

  • EĞER VARSA

    Özellik anahtarlarından herhangi biri yoksa Databricks SQL'i hata oluşturmamaya yönlendiren isteğe bağlı bir yan tümce.

  • property_key

    Kaldırılacak özellik anahtarı. Anahtar, nokta ile ayrılmış bir veya daha fazla tanımlayıcıdan ya da bir karakter dizisi değişmezinden oluşabilir.

    Özellik anahtarları büyük/küçük harfe duyarlıdır. Eğer property_key mevcut değilse ve IF EXISTS belirtilmemişse, hata oluşur.

Örnekler

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

SEÇENEKLER

Yeni bir tablodaki bir veya daha fazla tablo seçeneğini ayarlar.

Tablo seçeneklerinin amacı, SERDE özellikleri gibi depolama özelliklerini temeldeki depolamaya, örneğin Hive'a aktarmaktır.

Delta Lake tabloları için tablo seçeneklerinin belirtilmesi, bu seçenekleri tablo özellikleri olarak da yankılar.

Sözdizimi

OPTIONS ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Parametreler

  • property_key

    Özellik anahtarı. Anahtar, nokta ile ayrılmış bir veya daha fazla tanımlayıcıdan ya da bir karakter dizisi değişmezinden oluşabilir.

    Özellik anahtarları benzersiz olmalı ve büyük/küçük harfe duyarlı olmalıdır.

  • property_val

    özelliğinin değeri. Değer , BOOLEAN, STRINGINTEGERveya DECIMAL değişmez değer olmalıdır.

    Databricks SQL ve Databricks Runtime 13.3 LTS ve üzerinde property_val sabit bir ifade olabilir.

Örnekler

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

Ayrılmış tablo özellik anahtarları

Azure Databricks bazı özellik anahtarlarını kendi kullanımı için ayırır ve kullanmaya çalışırsanız bir hata oluşturur:

  • external

    Dış tablo oluşturmak için CREATE EXTERNAL TABLE kullanın.

  • location

    LOCATION ve ALTER TABLE'nin CREATE TABLE yan tümcelerini kullanarak tablo konumunu ayarlayın.

  • owner

    Tablo veya görünümün sahipliğini aktarmak için [SET] OWNER TO yan tümcesini, ALTER TABLE ve ALTER VIEW ile kullanın. databricks SQL'de isteğe bağlı anahtar sözcük olarak SET izin verilir.

  • provider

    Tablonun veri kaynağını ayarlamak için USING yan tümcesini CREATE TABLE'den kullanın

option tanımlayıcısıyla başlayan özellik anahtarlarını kullanmamalısınız. Bu ön ek tanımlayıcısı SHOW TBLPROPERTIES'dan filtrelenecektir. option öneki, tablosu seçeneklerinigörüntülemek için de kullanılır.

Yaygın TBLPROPERTIES ve OPTIONS anahtarları

Delta Lake ile yaygın olarak aşağıdaki ayarlar kullanılır:

  • delta.appendOnly: true ve UPDATE işlemlerini devre dışı bırakmak için DELETE olarak ayarlayın.
  • delta.dataSkippingNumIndexedCols: İstatistiklerin toplanacağı ve dikkate alındığı baştaki sütunun sayısına ayarlayın.
  • delta.deletedFileRetentionDuration: 'interval 7 days' dosyaları silmesine ne zaman izin vereceğinizi denetlemek için VACUUM gibi bir aralık olarak ayarlayın.
  • delta.logRetentionDuration: Zaman yolculuğu sorguları için geçmişin ne kadar süreyle tutulduğunu denetlemek için 'interval 60 days' gibi bir aralık olarak ayarlayın.