Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime
Varolan bir tablonun veya görünümün tanımını ve meta verilerini kullanarak bir tablo tanımlar.
Delta Lake, Databricks SQL ve Databricks Runtime 13.3 LTS ve üzeri sürümleri destekler CREATE TABLE LIKE
.
Databricks Runtime 12.2 LTS ve altında CREATE TABLE ASkullanın.
Sözdizimi
CREATE TABLE [ IF NOT EXISTS ] table_name LIKE source_table_name [table_clauses]
table_clauses
{ USING data_source |
LOCATION path |
TBLPROPERTIES clause |
ROW FORMAT row_format |
STORED AS file_format } [...]
row_format
{ SERDE serde_class [ WITH SERDEPROPERTIES (serde_key = serde_val [, ...] ) ] |
{ DELIMITED [ FIELDS TERMINATED BY fields_terminated_char [ ESCAPED BY escaped_char ] ]
[ COLLECTION ITEMS TERMINATED BY collection_items_terminated_char ]
[ MAP KEYS TERMINATED BY map_key_terminated_char ]
[ LINES TERMINATED BY row_terminated_char ]
[ NULL DEFINED AS null_char ] } }
property_key
{ identifier [. ...] | string_literal }
Parametreler
YOKSA
belirtildiyse, zaten varsa deyimini
table_name
yoksayar.-
Oluşturulacak tablonun adı. Ad bir zamansal belirtim veya seçenek belirtimi içermemelidir. Ad uygun değilse, tablo geçerli şemada oluşturulur. Bir table_name zaten mevcut olmamalıdır.
-
Tanımı kopyalanan tablonun adı.
source_table_name
vetable_name
hem Hive meta veri deposunda hem de Unity Kataloğu'nda olmalıdır. table_clauses
İsteğe bağlı olarak, yeni tablo için bir veri kaynağı biçimi, konum ve kullanıcı tanımlı özellikler belirtin. Her alt yan tümce yalnızca bir kez belirtilebilir.
KONUM yolu
Tablo verilerinin depolandığı klasörün yolu; dağıtılmış depolamada bir yol olabilir. Bir konum belirtirseniz, yeni tablo
bir dış tabloya dönüşür. Konum belirtmezseniz, tablo yönetilen bir tablodur. Yönetilen tabloların konumuyla çakışan konumlarda dış tablolar oluşturamazsınız.
-
İsteğe bağlı olarak bir veya daha fazla kullanıcı tanımlı özellik ayarlar.
data_source KULLANMA
Tablo için kullanılacak dosya biçimi.
data_source
şulerden biri olmalıdır:TEXT
CSV
JSON
JDBC
PARQUET
DELTA
Tablo için kullanılacak aşağıdaki ek dosya biçimleri Databricks Runtime'da desteklenir:
ORC
HIVE
LIBSVM
- özel uygulamasının tam sınıf adı.
org.apache.spark.sql.sources.DataSourceRegister
USING
belirtmezseniz, kaynak tablonun biçimi devralınır.Aşağıdakiler şunlar için geçerlidir: Databricks Runtime
HIVE
, Databricks Runtime'da Hive SerDe tablosu oluşturmak için desteklenir. Hive'a özgüfile_format
öğesini belirtebilir verow_format
büyük/küçük harfe duyarlı olmayan dize eşlemesi olan yan tümcesini kullanabilirsinizOPTIONS
. Şunlardıroption_keys
:FILEFORMAT
INPUTFORMAT
OUTPUTFORMAT
SERDE
FIELDDELIM
ESCAPEDELIM
MAPKEYDELIM
LINEDELIM
SATıR BIÇIMI row_format
Şunlar için geçerlidir:
Databricks Runtime
Özel bir SerDe belirtmek için
SERDE
olarak ayarlayın ve özel bir SerDe'nin tam sınıf adını ve isteğe bağlı SerDe özelliklerini belirtin. Yerel SerDe'yi kullanmak içinDELIMITED
olarak ayarlayın ve sınırlayıcıyı, kaçış karakterini, null karakteri vb. belirtin.SERDEPROPERTIES
SerDe tanımını etiketlemek için kullanılan anahtar-değer çiftlerinin listesi.
SONLANDıRıLAN ALANLAR
Sütun ayırıcısı tanımlayın.
KAÇTI
Kaçış mekanizmasını tanımlayın.
SONLANDıRıLAN KOLEKSIYON ÖĞELERI
Koleksiyon öğesi ayırıcısı tanımlayın.
SONLANDıRıLAN EŞLEME ANAHTARLARı
Eşleme anahtarı ayırıcısı tanımlayın.
SON VERİCİ SATıRLAR
Satır ayırıcısı tanımlayın.
NULL OLARAK TANıMLANMıŞ
için
NULL
belirli bir değeri tanımlayın.FARKLı DEPOLANIYOR
Tablonun dosya biçimi. Kullanılabilir biçimler ,
TEXTFILE
,SEQUENCEFILE
,RCFILE
,ORC
vePARQUET
biçimlerini içerirAVRO
. Alternatif olarak ve aracılığıylaINPUTFORMAT
OUTPUTFORMAT
kendi giriş ve çıkış biçimlerinizi belirtebilirsiniz. Yalnızca , veTEXTFILE
SEQUENCEFILE
biçimleriRCFILE
ileROW FORMAT SERDE
kullanılabilir ve yalnızcaTEXTFILE
ileROW FORMAT DELIMITED
kullanılabilir.
Notlar
Veri kaynağına ve hedefe bağlı olarak tabloların tüm özellikleri aktarılamaz.
CREATE TABLE LIKE
kaynak bir Delta Lake Tablosu olduğunda:
Özellik/Özellik | Hedef Delta Olmayan Tablo | Hedef bir Delta Tablosudur |
---|---|---|
YORUM | Yes | Yes |
Sütun | Yes | Yes |
Bölümlendirme sütunları | Yes | Yes |
Yapılandırma | Hayır | Yes |
Tablo Kısıtlaması | Geçerli değil | Yes |
Delta Protokolü | Geçerli değil | Yes |
CREATE TABLE LIKE
, kaynağı Delta Lake Tablosu olmadığında:
Özellik/Özellik | Hedef Delta Olmayan Tablo | Hedef bir Delta Tablosudur |
---|---|---|
YORUM | Yes | Yes |
Sütun | Yes | Yes |
Bölümlendirme sütunları | Yes | Yes |
Yapılandırma | Yes | Yes |
Tablo Kısıtlaması | Hayır | Yes |
Delta Protokolü | Hayır (Bu oturum için Geçerli Varsayılan Protokol) | Yes |
Örnekler
-- Create table using a new location
> CREATE TABLE Student_Dupli LIKE Student LOCATION '/path/to/data_files';
-- Create table like using a data source
> CREATE TABLE Student_Dupli LIKE Student USING CSV LOCATION '/path/to/csv_files';