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

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権限。

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

テーブルを削除するには、テーブルの所有者である必要があります。マネージドテーブルを削除するには、次のSQLコマンドを実行します。

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

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