テーブルとビューとは
テーブルとビューは、データを整理してアクセスするための Databricks の基本的な概念です。
テーブルは、特定の場所 (通常は Delta Lake 形式) に格納される構造化データセットです。 テーブルはストレージに実際のデータを格納し、SQL コマンドまたは DataFrame API を使用してクエリと操作が可能で、挿入、更新、削除、マージなどの操作をサポートします。 「テーブルとは」を参照してください。
view は、SQL クエリによって定義された仮想テーブルです。 ビュー自体はデータを格納しません。 代わりに、ビューは、特定の形式または抽象化で 1 つ以上のテーブルのデータを表示する方法を提供します。 ビューは、複雑なクエリを簡略化し、ビジネス ロジックをカプセル化し、ストレージを複製することなく、基になるデータに一貫性のあるインターフェイスを提供するのに役立ちます。 ビューの説明を参照してください。
Unity カタログのテーブルとビュー
テーブルとビューは、Unity カタログを使用して管理されます。 Unity カタログでは、次の図に示すように、テーブルとビューは 3 レベル名前空間 (catalog.schema.table) の 3 番目のレベルに配置されます。
差分テーブル、ストリーミング テーブル、具体化されたビューの違い
次の表は、差分テーブル、ストリーミング テーブル、具体化されたビューの違いに関してよく寄せられる質問に回答します。
質問 | Delta テーブル | ST | MV |
---|---|---|---|
これはどういうものですか? | Delta Lake 形式で格納された標準テーブル。ACID トランザクション、スキーマの適用、およびその他の Delta Lake 機能をサポートします。 | ストリーミングおよび増分処理のユース ケース用に拡張された通常の Delta テーブル。 | 結果が常に事前に計算され、正しいクエリの結果。 |
推奨されるユース ケースは何ですか? | 以下を実行する手続き型コード: -摂取 -変換 |
次の処理を行う宣言型コード: - 追加専用ソースからのインジェスト - 待機時間の短い変換 |
次の処理を行う宣言型コード: - 増分変換 - バッチ変換 |
どのように設定されますか? | 手続き型コード (INSERT 、 UPDATE 、 MERGE 、 replaceWhere を使用したパーティションの上書き) |
宣言型コードには次が含まれます。 - ストリームを追加する - APPLY CHANGES ストリーム - 1 回のフロー |
宣言型クエリ |
Unity カタログのオブジェクトの種類は何ですか? | テーブル | テーブル | 表示 |
誰が更新できますか? | Delta テーブルを更新できるライター。 | ストリーミング テーブルを定義するパイプラインのみが更新できます。 | 具体化されたビューを定義するパイプラインのみが更新できます。 |
Delta Lake の機能は何と互換性がありますか? | Delta Lake のすべての機能をサポートします。 | サポートされて "いません"。 - 液体パーティション分割 - 予測最適化 |
サポートされて "いません"。 - 液体パーティション分割 - 予測最適化 |