マネージド テーブルの操作
Azure Databricks は、マネージド テーブルのライフサイクルとファイル レイアウトを管理します。 マネージド テーブルは、テーブルを作成する際の既定の方法です。
Databricks では、Azure Databricks で管理されているすべての表形式データにマネージド テーブルを使用することをお勧めします。
Note
この記事では、Unity カタログのマネージド テーブルを中心に説明します。 従来の Hive メタストアのマネージド テーブルは挙動が異なります。 「レガシ Hive メタストア内のデータベース オブジェクト」を参照してください。
マネージド テーブルの操作
Azure Databricks でサポートされているすべての言語と製品でマネージド テーブルを操作できます。 マネージド テーブルの作成、更新、削除、クエリを実行するには、特定の権限が必要です。 「Unity Catalog の特権の管理」を参照してください。
Azure Databricks 外部のツールを使用して、マネージド テーブル内のファイルを直接操作しないでください。
テーブル名を使用して、マネージド テーブル内のデータ ファイルのみを操作する必要があります。
マネージド テーブルのデータ ファイルは、包含スキーマに関連付けられているマネージド ストレージの場所に格納されます。 「Unity Catalog の管理されたストレージの場所の指定」を参照してください。
マネージド テーブルを作成する
既定では、Azure Databricks で SQL コマンド、Spark、その他のツールを使用してテーブルを作成すると、その都度テーブルが管理されます。
次の SQL 構文は、SQL を使用して空のマネージド テーブルを作成する方法を示しています。 プレースホルダー値を次のように置き換えます。
<catalog-name>
: テーブルを含むカタログの名前。<schema-name>
: テーブルを含めるスキーマの名前。<table-name>
: テーブルの名前。<column-specification>
: 各列の名前とデータ型。
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
);
多くのユーザーは、クエリ結果または DataFrame 書き込み操作からマネージド テーブルを作成します。 次の記事では、Azure Databricks でマネージド テーブルを作成するために使用可能な多数のパターンの一部を示します。
必要なアクセス許可
マネージド テーブルを作成するには、次のものが必要です。
- テーブルの親スキーマに対する
USE SCHEMA
権限。 - テーブルの親カタログに対する
USE CATALOG
権限。 - テーブルの親スキーマに対する
CREATE TABLE
権限。
マネージド テーブルをドロップする
テーブルをドロップするには、テーブルの所有者である必要があります。 マネージド テーブルをドロップするには、次の SQL コマンドを実行します:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
マネージド テーブルをドロップすると、基になるデータがクラウド テナントから 30 日以内に削除されます。