次の方法で共有


Azure Databricks テーブルの概要

テーブルはスキーマ内にあり、データ行が含まれています。 Azure Databricks で作成される既定のテーブルの種類は、Unity カタログのマネージド テーブルです。

Azure Databricks のテーブルの種類の主な差別化要因は、次の表に示すように、所有カタログです。

テーブルの種類 カタログの管理 読み取り/書き込みのサポート パフォーマンスの最適化 ストレージ コストの最適化
マネージド Unity カタログ イエス イエス イエス
外部 なし (ファイルのみ) イエス 手動のみ 手動のみ
外部 外部システムまたはカタログ サービス 読み取り専用 いいえ いいえ

次の例は、5 人の従業員に関するデータを含む prod.people_ops_employees という名前のテーブルを示しています。 メタデータは Unity カタログに登録され、データはクラウド ストレージに格納されます。

従業員データを含むテーブルの例

ストレージ形式: Delta Lake と Apache Iceberg

Azure Databricks のテーブルの種類は、データの所有方法とアクセス方法を定義します。 ストレージ形式では、ディスク上でデータを物理的に構造化および追跡する方法を個別に定義します。

Azure Databricks では、Delta Lake と Apache Iceberg の 2 つの主要なオープン テーブル形式がサポートされています。 これらの形式では、メタデータを追跡し、ACID コンプライアンス、タイム トラベル、およびその他の機能を有効にするトランザクション ストレージ レイヤーが追加されます。

  • Delta Lake は、Azure Databricks のマネージド テーブルと外部テーブルの既定のストレージ形式です。
  • Apache Iceberg は、Azure Databricks のマネージド テーブルと外部テーブルでサポートされています。 この形式は、Iceberg エコシステムと統合する場合に便利です。

マネージド テーブル

マネージド テーブルには、メタストアの登録と共に基となるデータ ファイルが管理されます。 Databricks では、新しいテーブルを作成するときは常にマネージド テーブルを使用することを推奨しています。 Unity Catalog のマネージド テーブルは、Azure Databricks でテーブルを作成するときの既定値です。 Delta Lake と Apache Iceberg 用の Azure Databricks の Unity カタログマネージド テーブルを参照してください。

外部テーブル

外部テーブル ("アンマネージド テーブル" と呼ばれることもあります) は、Databricks の外部にある、クラウド オブジェクト ストレージなどの外部ストレージ システムに格納されたデータを参照します。 基になるデータ ファイルの管理をメタストア登録から切り離します。 Unity カタログでは、Delta Lake を含む複数の形式の外部テーブルがサポートされています。 Unity Catalog の外部テーブルには、外部システムで読み取り可能な一般的な形式を使用してデータ ファイルを格納できます。 「外部テーブルを操作する」を参照してください。

外部テーブル

外部テーブルとは、Lakehouse Federation を介して Azure Databricks に接続されている外部システムに格納されているデータを表します。 Azure Databricks 上では、外部テーブルは読み取り専用です。 外部テーブルの操作を参照してください。

Unity カタログのテーブル

Unity カタログでは、次の図に示すように、テーブルは 3 レベル名前空間 (catalog.schema.table) の 3 番目のレベルに配置されます。

テーブルに焦点を当てた Unity Catalog オブジェクト モデルの図

基本的なテーブルのアクセス許可

ほとんどのテーブル操作には、テーブルを含むカタログとスキーマに対する USE CATALOGUSE SCHEMA のアクセス許可が必要です。

次の表は、Unity カタログの一般的なテーブル操作に必要な追加のアクセス許可をまとめたものです。

オペレーション 権限
テーブルを作成する 包んでいるスキーマに対する CREATE TABLE
テーブルを照会する テーブルに対する SELECT
テーブルにデータを更新、削除、マージ、または挿入する テーブルに対する SELECTMODIFY
テーブルを削除する テーブルに対する MANAGE
テーブルを置き換える テーブルに対する MANAGE、含んでいるスキーマに対する CREATE TABLE

Unity Catalog のアクセス許可の詳細については、「Unity Catalog の特権の管理」を参照してください。