マネージド テーブルを操作する

Databricks は、マネージドテーブルのライフサイクルとファイル レイアウトを管理します。 マネージドテーブルは、テーブルを作成するデフォルトの方法です。

Databricks では、Databricks で管理されるすべての表形式データにマネージド テーブルを使用することをお勧めします。

注:

この記事では、Unity Catalog で管理されるテーブルに焦点を当てます。 従来のHive metastore内のマネージドテーブルの動作は異なります。 従来のHive metastore内のデータベース オブジェクトを参照してください。

マネージド テーブルを操作する

Databricks でサポートされているすべての言語と製品で、マネージドテーブルを操作できます。 マネージド テーブルを作成、更新、削除、またはクエリするには、特定の特権が必要です。 「Unity Catalog での権限の管理」を参照してください。

マネージドテーブル内のファイルを直接操作するために、Databricks 以外のツールを使用しないでください。

マネージド テーブル内のデータ ファイルは、テーブル名を使用してのみ操作する必要があります。

マネージドテーブルのデータファイルは、含まれているスキーマに関連付けられたマネージドストレージロケーションに保存されます。 「Unity Catalog でマネージドストレージロケーションを指定する」を参照してください。

マネージドテーブルの作成

デフォルトでは、SQL コマンド、Spark、または Databricks のその他のツールを使用してテーブルを作成するたびに、テーブルは管理されます。

次の SQL 構文は、SQL を使用して空のマネージドテーブルを作成する方法を示しています。 プレースホルダーの値を置き換えます。

  • <catalog-name>:テーブルを格納するカタログの名前。

  • <schema-name>:テーブルを格納するスキーマの名前。

  • <table-name>:テーブルの名前。

  • <column-specification>:各列の名前とデータ型。

CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
  <column-specification>
);

多くのユーザーは、クエリ結果または DataFrame 書き込み操作からマネージドテーブルを作成します。 次の記事では、Databricks でマネージド テーブルを作成するために使用できる多くのパターンの一部を示します。

必要な権限

マネージド テーブルを作成するには、次のものが必要です。

  • テーブルの親スキーマに対するUSE SCHEMA権限。

  • テーブルの親カタログに対するUSE CATALOG権限。

  • テーブルの親スキーマに対するCREATE TABLE権限。

マネージドテーブルの削除

テーブルを削除するには、テーブルの所有者であるか、テーブルに対する MANAGE 権限を持っている必要があります。 マネージドテーブルを削除するには、次の SQL コマンドを実行します。

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

マネージドテーブルが削除されると、その基になるデータは30日以内にクラウドテナントから削除されます。