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 12.2 LTS ve üzeri
UNDROP
komutu, Unity Kataloğu'nda bulunan yönetilen veya dış ilişkilerin (tablolar veya gerçekleştirilmiş görünümler) yanlışlıkla bırakılması veya silinmesiyle ilgili endişeyi giderir.
Varsayılan olarak, bu komut, verilen ilişki adının kullanıcısının sahip olduğu en son bırakılan ilişkiyi geri alır (kurtarır).
Üst şema ve katalog mevcut olmalıdır. Bu özellik, 7 günlük saklama dönemi içinde koparılan ilişkileri kurtarmayı destekler.
Aynı ada sahip birden çok bırakılan ilişki varsa, tablo kimliğini tanımlamak için SHOW TABLES DROPPED kullanabilir ve belirli bir ilişkiyi kurtarmak için UNDROP TABLE WITH ID
kullanabilirsiniz.
Kurtarmak istediğiniz ilişkiyle aynı ada sahip bir ilişki varsa, var olan ilişkinin adını değiştirmek için ALTER TABLE RENAME TO komutunu kullanın.
Tablo ayrıcalıkları, sütun belirtimi ve özellikler gibi tablo meta verileri kurtarılır.
Birincil ve yabancı anahtar kısıtlamaları UNDROP
komutu ile kurtarılmaz.
Tablo kurtarıldıktan sonra ALTER TABLE ADD CONSTRAINT kullanarak bunları el ile yeniden oluşturun.
Sözdizimi
UNDROP { MATERIALIZED VIEW | TABLE } { relation_name | WITH ID relation_id }
Parametre
MATERIALIZED VIEW
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 16.2 ve üzeri
Geri yüklenecek olan
relation_name
ilişkisinin, gerçekleştirilmiş bir görünüm olduğunu belirtir.TABLE
Geri yüklenecek
relation_name
ilişkinin bir tablo olduğunu belirtir.-
Geri yüklenecek tablonun veya gerçekleştirilmiş görünümün adı. Ad bir zamansal belirtim veya seçenek belirtimi içermemelidir. İlişki veya tür belirtilen şekilde bulunamıyorsa Azure Databricks
WRONG_COMMAND_FOR_OBJECT_TYPE
veyaTABLE_OR_VIEW_NOT_FOUND
yükseltir. relation_id
STRING
tarafından gösterildiği gibi ilişkinin UUID biçiminde SHOW TABLES DROPPED değişmez değeri.
İzinler
UNDROP
aşağıdaki temel izinlerden birini gerektirir:
- Kullanıcı ilişkinin sahibidir, şemada
CREATE TABLE
veUSE SCHEMA
ve katalogdaUSE CATALOG
. - Kullanıcı, şemanın sahibidir ve katalogda
USE CATALOG
'a sahiptir. - Kullanıcı, kataloğun sahibidir.
- Kullanıcı, meta veri deposunun sahibidir.
- Kullanıcının tabloda
MANAGE
, şemadaCREATE TABLE
veUSE SCHEMA
ve katalogdaUSE CATALOG
vardır.
Kullanıcı farklı bir tablo türünü kurtarıyorsa, ek izinler uygulanır.
Örneğin, dış tabloyu geri yüklemek için dış konumda veya depolama kimlik bilgisinde de CREATE EXTERNAL TABLE
olması gerekir ve bu bilginin mevcut olması gereklidir.
Bu komutu çalıştırdıktan sonra, sahiplik varsayılan olarak önceki ilişki sahibine döner. Gerekirse, sahiplik ALTER TABLE veya ALTER MATERIALIZED VIEW komutu kullanılarak değiştirilebilir.
Sınırlamalar
Gerçekleştirilmiş görünümler ve akış tabloları yalnızca yedekleme işlem hattı hala mevcutsa geri yüklenebilir. Destekleyen boru hattı silinmişse, maddileşmiş görünüm veya akış tablosu kurtarılamaz.
Databricks SQL ile oluşturulmuş gerçekleştirilmiş bir görünümü veya akış tablosunu geri yükleyemezsiniz. Yalnızca ETL işlem hattıyla oluşturulan gerçekleştirilmiş görünümler veya akış tabloları geri yüklenebilir.
Örnekler
-- UNDROP using the table name
> CREATE TABLE my_catalog.my_schema.my_table (id INT, name STRING);
> DROP TABLE my_catalog.my_schema.my_table;
> UNDROP TABLE my_catalog.my_schema.my_table;
OK
-- UNDROP WITH ID
– Use SHOW TABLES DROPPED to find dropped tables
> SHOW TABLES DROPPED IN my_schema;
catalogname schemaname tablename tableid tabletype deletedat createdat updatedat createdby owner comment
----------- ---------- ---------- ------------------------------------ --------- ----------------------------- ----------------------------- ----------------------------- ------------- ------------- -------
my_catalog my_schema my_table 6ca7be55-8f58-47a7-85ee-7a59082fd17a managed 2023-05-03 AD at 18:17:56 UTC 2023-05-03 AD at 18:17:00 UTC 2023-05-03 AD at 18:17:00 UTC alf@melmak.et alf@melmak.et
my_catalog my_schema my_table b819f397-c51f-4e60-8acc-05d4d4a7e084 managed 2023-05-04 AD at 10:20:00 UTC 2023-05-04 AD at 08:20:00 UTC 2023-05-04 AD at 08:20:00 UTC alf@melmak.et alf@melmak.et
–- Undrop a specific dropped table.
–- Here, we undrop my_table with table id '6ca7be55-8f58-47a7-85ee-7a59082fd17a'.
-- Note that the table id will be a string surrounded by single quotation marks.
> UNDROP TABLE WITH ID '6ca7be55-8f58-47a7-85ee-7a59082fd17a';
OK
– Continuing from the example above, Now we want to undrop table with ID 'b819f397-c51f-4e60-8acc-05d4d4a7e084'.
- First, we rename the existing table
> ALTER TABLE my_table RENAME TO my_other_table
OK
- Then we can undrop table with the name my_table
> UNDROP TABLE WITH ID 'b819f397-c51f-4e60-8acc-05d4d4a7e084'
OK
—- Create some MVs
> CREATE MATERIALIZED VIEW mv1 AS SELECT * FROM RANGE(5);
> CREATE MATERIALIZED VIEW mv2 AS SELECT * FROM mv1;
—- Drop the MVs
> DROP MATERIALIZED VIEW mv1;
> DROP MATERIALIZED VIEW mv2;
-- UNDROP using the table name
> UNDROP MATERIALIZED VIEW mv1;
OK
-- UNDROP WITH ID
–- Use SHOW TABLES DROPPED to find the dropped mv2's tableId
—- Assume it is 6ca7be55-8f58-47a7-85ee-7a59082fd17a
-- When undropping, note that the table id will be a string surrounded by single quotation marks.
> UNDROP MATERIALIZED VIEW WITH ID '6ca7be55-8f58-47a7-85ee-7a59082fd17a';
OK