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 üzeriGeri yüklenecek olan
relation_nameilişkisinin, gerçekleştirilmiş bir görünüm olduğunu belirtir.TABLEGeri yüklenecek
relation_nameilişkinin bir tablo olduğunu belirtir.-
Geri yüklenecek tablonun 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_TYPEveyaTABLE_OR_VIEW_NOT_FOUNDyükseltir. relation_idSTRINGtarafı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 TABLEveUSE SCHEMAve 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 TABLEveUSE SCHEMAve katalogdaUSE CATALOGvardı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. Yalnızca kimlik ile gerçekleştirilmiş görünümleri geri yükleyebilir, ada göre geri yükleme yapamazsınız.
Ö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
-- Assume the following commands created MVs in an ETL pipeline
> 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 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