1
0

More than 1 year has passed since last update.

UNDROP TABLE | Databricks on AWS [2023/6/12時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

適用対象: Databricks SQL、Databricksランタイム12.1以降

プレビュー
本機能はパブリックプレビューです。

UNDROPコマンドは、Unity Catalogに格納されているマネージド、外部テーブルを不意にドロップ、削除した際の懸念に対応するものです。デフォルトでは、このコマンドは指定されたテーブルのもっとも最近に削除されたテーブルをundrop(リカバー)します。親のスキーマとカタログは存在している必要があります。この機能は、7日間の保持期間に含まれるテーブルのundropをサポートします。

同じ名前で削除されたテーブルが複数ある場合、テーブルIDを特定するためにSHOW TABLES DROPPEDを活用することができ、特定のテーブルをundropするためにUNDROP TABLE WITH IDを使うことができます。

undropしたいテーブルと同じ名前のテーブルがある際、既存テーブルの名前を変更するためにALTER TABLE RENAME TOを使うことができます。

テーブルのアクセス権、カラムの仕様やプロパティのようなテーブルメタデータはリカバリーされます。主キーや外部キー制約はUNDROPコマンドではリカバリーされません。テーブルをundropした後にALTER TABLE ADD CONSTRAINTを用いて手動で再作成してください。

構文

UNDROP TABLE { table_anme | WITH ID table_id }

パラメーター

  • table_name

    復旧するテーブル名。名前にtemporal specificationを含めることはできません。テーブルが見つからない場合にはエラーが発生します。

  • table_id

    SHOW TABLES DROPPEDで表示されるテーブルのUUIDの形式のSTRINGリテラル。

権限

UNDROP TABLEには、以下のベース権限のいずれかが必要です:

  • ユーザーがテーブルの所有者であり、スキーマに対するCREATE TABLEUSE SCHEMA権限、カタログに対するUSE CATALOG権限を持っている。
  • ユーザーはスキーマの所有者であり、カタログに対するUSE CATALOG権限を持っている。
  • ユーザーはカタログの所有者である。
  • ユーザーはメタストアの所有者である。

ユーザー別のタイプのテーブルをundropする際には、追加の権限が適用されます。例えば、外部テーブルをundropする際には、存在している外部ロケーションやストレージ資格情報に対するCREATE EXTERNAL TABLEも必要となります。

コマンドの実行後、オーナーシップのデフォルト値は以前のテーブル所有者となります。必要であれば、ALTER TABLEコマンドでオーナーシップを変更することができます。

サンプル

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

関連ドキュメント

Databricksクイックスタートガイド

Databricksクイックスタートガイド

Databricks無料トライアル

Databricks無料トライアル

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0