次の方法で共有


テーブルとビューとは

テーブルとビューは、データを整理してアクセスするための Databricks の基本的な概念です。

テーブルは、特定の場所 (通常は Delta Lake 形式) に格納される構造化データセットです。 テーブルはストレージに実際のデータを格納し、SQL コマンドまたは DataFrame API を使用してクエリと操作が可能で、挿入、更新、削除、マージなどの操作をサポートします。 「テーブルとは」を参照してください。

view は、SQL クエリによって定義された仮想テーブルです。 ビュー自体はデータを格納しません。 代わりに、ビューは、特定の形式または抽象化で 1 つ以上のテーブルのデータを表示する方法を提供します。 ビューは、複雑なクエリを簡略化し、ビジネス ロジックをカプセル化し、ストレージを複製することなく、基になるデータに一貫性のあるインターフェイスを提供するのに役立ちます。 ビューの説明を参照してください。

Unity カタログのテーブルとビュー

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

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

差分テーブル、ストリーミング テーブル、具体化されたビューの違い

次の表は、差分テーブル、ストリーミング テーブル、具体化されたビューの違いに関してよく寄せられる質問に回答します。

質問 Delta テーブル ST MV
これはどういうものですか? Delta Lake 形式で格納された標準テーブル。ACID トランザクション、スキーマの適用、およびその他の Delta Lake 機能をサポートします。 ストリーミングおよび増分処理のユース ケース用に拡張された通常の Delta テーブル。 結果が常に事前に計算され、正しいクエリの結果。
推奨されるユース ケースは何ですか? 以下を実行する手続き型コード:

-摂取
-変換
次の処理を行う宣言型コード:

- 追加専用ソースからのインジェスト
- 待機時間の短い変換
次の処理を行う宣言型コード:

- 増分変換
- バッチ変換
どのように設定されますか? 手続き型コード (INSERTUPDATEMERGEreplaceWhere を使用したパーティションの上書き) 宣言型コードには次が含まれます。

- ストリームを追加する
- APPLY CHANGES ストリーム
- 1 回のフロー
宣言型クエリ
Unity カタログのオブジェクトの種類は何ですか? テーブル テーブル 表示
誰が更新できますか? Delta テーブルを更新できるライター。 ストリーミング テーブルを定義するパイプラインのみが更新できます。 具体化されたビューを定義するパイプラインのみが更新できます。
Delta Lake の機能は何と互換性がありますか? Delta Lake のすべての機能をサポートします。 サポートされて "いません"。

- 液体パーティション分割
- 予測最適化
サポートされて "いません"。

- 液体パーティション分割
- 予測最適化