Databricks テーブルの概念
Databricks テーブルはスキーマに存在し、データの行を含みます。Databricks で登録されるデフォルトテーブルタイプは、マネージドテーブルUnity Catalogです。
次の例は、5 人の従業員に関するデータを含む prod.people_ops_employees という名前のマネージドテーブルを示しています。 マネージドテーブルとして、データファイルはクラウドストレージ内の Unity Catalogの管理されたストレージの場所に保存されます。

ストレージ形式
Databricks のテーブル型は、データの所有方法とアクセス方法を定義します。これとは別に、ストレージ形式は、データがディスク上で物理的に構造化され、追跡される方法を定義します。
Databricks では、次の 2 つの主要なオープン テーブル ストレージ形式がサポートされています。
- Delta Lake は 、Databricks の管理対象テーブルと外部テーブルのデフォルトのストレージ形式です。Deltaはフォーリンテーブルでもサポートされています。
- Apache Iceberg は、Databricksの managed テーブルとフォーリンテーブルでサポートされています。この形式は、Iceberg エコシステムと統合する場合に役立ちます。
これらの形式は、メタデータを追跡し、アトミック性、一貫性、分離性、耐久性 (ACID) コンプライアンス、タイムトラベル、およびその他の機能を有効にするトランザクション ストレージ レイヤーを追加します。
テーブルタイプ
Databricks には 3 つの主要なテーブル タイプが用意されており、それぞれが異なるデータ マネジメント シナリオと所有権モデル用に設計されています。 テーブルの種類の選択によって、Databricks が基になるデータ ファイルとメタデータを管理する方法が決まります。
Databricks のテーブル型の主な差別化要因は、次の表で説明するように、所有するカタログです。
テーブルタイプ | カタログの管理 | 読み取り/書き込みのサポート | パフォーマンスの最適化 | ストレージコストの最適化 |
|---|---|---|---|---|
Unity Catalog | Yes | Yes | Yes | |
TEMPORARY | なし (セッションスコープのマネージドテーブル) | Yes | Yes | Yes |
なし (ファイルのみ) | Yes | マニュアルのみ | マニュアルのみ | |
外部システムまたはカタログ・サービス | 読み取り専用 | No | No |
マネージドテーブル
マネージドテーブルは、メタストアの登録と並行して基になるデータファイルを管理します。 Databricks 、新しいテーブルを作成するたびにマネージドテーブルを使用することを推奨します。 マネージドテーブルUnity Catalog は、 Databricksでテーブルを作成するときのデフォルトです。「 マネージドテーブル」を参照してください。
外部テーブル
外部テーブル ( アンマネージドテーブル とも呼ばれます) は、クラウド オブジェクト ストレージなどの外部ストレージ システム内の外部ストレージ システム内の Databricks 外部に格納されているデータを参照します。 基になるデータ ファイルの管理をメタストア登録から切り離します。Unity Catalog では、Delta Lake など、いくつかの形式の外部テーブルがサポートされています。Unity Catalog 外部テーブルには、外部システムで読み取れる一般的な形式を使用してデータ ファイルを格納できます。外部テーブルを参照してください。
フォーリンテーブル
フォーリンテーブルは、レイクハウスフェデレーションを介して Databricks に接続された外部システムに保存されたデータを表します。 フォーリンテーブルは Databricksで読み取り専用です。 フォーリンテーブルを参照してください。
一時テーブル
一時テーブルは、Databricks セッションの期間中データを保存するセッション スコープのテーブルです。カタログに永続的なテーブルを作成せずに中間結果を実現するのに便利です。Databricks はセッションが終了すると自動的に一時テーブルを削除するため、一時テーブルを作成するためにカタログまたはスキーマ権限は必要ありません。一時テーブルを参照してください。
Unity Catalog のテーブル
Unity Catalog では、次の図に示すように、テーブルは 3 レベルの名前空間 (catalog.schema.table) の 3 番目のレベルに配置されます。

基本的なテーブル権限
ほとんどのテーブル操作には、テーブルを含むカタログとスキーマに対する USE CATALOG と USE SCHEMA のアクセス許可が必要です。
次の表は、Unity Catalog での一般的なテーブル操作に必要な追加のアクセス許可をまとめたものです。
オペレーション | 権限 |
|---|---|
テーブルを作成 |
|
テーブルのクエリ |
|
テーブルへのデータの更新、削除、マージ、または挿入 |
|
テーブルを削除する |
|
テーブルを置き換える |
|
これらの操作の SQL 構文リファレンスについては、以下を参照してください。
Unity Catalog権限の詳細については、 Unity Catalogでの権限の管理を参照してください。