Databricks の Delta テーブル
Delta Lake によってサポートされるテーブルは、 Delta テーブル と呼ばれます。Delta テーブルは、データをクラウド・オブジェクト・ストレージ内のファイルのディレクトリーとして保管し、そのメタデータをカタログおよびスキーマ内のメタストアに登録します。Delta Lake は Databricksのデフォルト テーブル形式であるため、特に明記されていない限り、ほとんどの "テーブル" への参照は Delta テーブルを参照します。 「Databricks の Delta Lake とは」を参照してください。
Databricks では、Delta テーブルを操作するときに、ファイル パスではなく完全修飾テーブル名を使用することをお勧めします。Delta Lake を使用しないテーブルを作成することもできますが、それらのテーブルには Delta テーブルのトランザクション保証とパフォーマンスの最適化がありません。
次の表では、Databricks で発生する可能性のある一般的な Delta テーブルの種類について説明します。
テーブルの種類 | 説明 |
---|---|
Unity Catalog マネージドテーブル | 常に Delta Lake. Databricksのデフォルトおよび推奨されるテーブル タイプです。多くの組み込み最適化を提供します。 |
Unity Catalog 外部テーブル | 必要に応じて、Delta Lake によってサポートされます。外部の Delta Lake クライアントとの一部の従来の統合パターンをサポートします。 |
Unity Catalog フォーリンテーブル | フォーリンカタログによっては、 Delta Lakeによって裏付けられる場合があります。 フォーリンテーブルは、 Delta Lake マネージドテーブルに多くの最適化 Unity Catalog 存在しません。 |
ストリーミングテーブル | によってサポートされる LakeFlow宣言型パイプライン データセットで、増分処理の追加フロー定義または フロー定義が含まれています。Delta Lake |
特徴量テーブル | プライマリ・キーが宣言されている任意の Unity Catalog マネージド・テーブルまたは外部テーブル。 Databricks の ML ワークロードで使用されます。 |
Hive metastore テーブル | フォーリンテーブル 内部または外部のフェデレーション Hive metastore とレガシ ワークスペースのテーブル Hive metastore. マネージ テーブルと外部 Hive metastore テーブルはどちらも、オプションで Delta Lakeによってバッキングできます。 |
マテリアライズドビュー | 管理フロー ロジックを使用してクエリの結果を具体化する に基づく LakeFlow宣言型パイプライン データセット。Delta Lake |
さらに、 オンライン テーブル は、オンライン アクセス用に最適化された行指向形式で格納される Delta テーブルの読み取り専用コピーです。リアルタイム テーブルの使用Feature Servingを参照してください。
レガシ テーブル タイプ
次のレガシ テーブル タイプは下位互換性のためにサポートされていますが、新しい開発には推奨されません。
Hive テーブル
Hive テーブルは、レガシーパターン (レガシー Hive metastoreパターン、 Hive SerDe コーデック、 Hive SQL 構文など) を使用して実装されたテーブルを示しています。
レガシ Hive metastore を使用して登録されたテーブルは、レガシ DBFSルートに (デフォルト別) にデータを格納します。 Databricks では、すべてのテーブルを従来の HMS から Unity Catalog に移行することをお勧めします。レガシーHive metastoreのデータベースオブジェクトを参照してください。
必要に応じて、 Hive metastore を Unity Catalogにフェデレートできます。 Hive metastoreフェデレーション:Unity Catalog に登録されたテーブルを管理するための の有効化 を参照してください。Hive metastore
Apache Spark は Hive テーブルへの登録とクエリをサポートしていますが、これらのコーデックは Databricks. Databricks では、外部システムによって書き込まれたデータに対するクエリをサポートするためだけに Hive テーブルを登録することをお勧めします。Hive テーブル (レガシ)を参照してください。
ライブテーブル
ライブ テーブル という用語は、現在 マテリアライズドビュー として実装されている機能の以前の実装を指します。ライブ テーブルを参照するレガシ コードは、マテリアライズドビューの構文を使用するように更新する必要があります。 LakeFlow宣言型パイプラインと マテリアライズドビュー を参照してください。