分享方式:


什麼是檢視?

檢視是從中繼存放區中的一或多個數據表和檢視所組成的唯讀物件。 您可以從多個架構和目錄的數據表和其他檢視建立檢視表。

在 Unity 目錄中,檢視位於三層命名空間的第三層 (catalog.schema.view):

Unity Catalog 物件模型圖表,著重於檢視

本文說明您可以在 Azure Databricks 中建立的檢視。

Unity 目錄中的檢視

檢視通常會針對中繼存放區中的一或多個數據源或數據表儲存查詢的文字。 在 Azure Databricks 中,檢視相當於將 Spark DataFrame 保存為架構中的物件。 不同於 DataFrame,您可以查詢 Azure Databricks 中任何地方的檢視,假設您有權這麼做。 建立檢視不會處理或寫入任何數據。 只有查詢文字會註冊至相關聯架構中的中繼存放區。

注意

如果檢視是由差異數據表以外的數據源所支援,則檢視可能會有不同的執行語意。 Databricks 建議您一律使用數據表或檢視名稱來參考數據源來定義檢視。 藉由指定路徑或 URI 來定義資料集的檢視,可能會導致數據控管需求混淆。

具體化檢視

具體化檢視會以累加方式計算和更新定義查詢所傳回的結果。

您可以使用 Databricks SQL 在 Unity 目錄中註冊具體化檢視,或將它們定義為 Delta Live Tables 管線的一部分。 請參閱 在 Databricks SQL 中使用具體化檢視和 什麼是 Delta Live Tables?

暫存檢視

暫存檢視的範圍和持續性有限,且未註冊至架構或目錄。 暫存檢視的存留期會根據您使用的環境而有所不同:

  • 在筆記本和作業中,暫存檢視的範圍是筆記本或腳本層級。 它們無法在宣告的筆記本外部參考,而且當筆記本與叢集中斷連結時已不存在。
  • 在 Databricks SQL 中,暫存檢視的範圍設定為查詢層級。 相同查詢內的多個語句可以使用暫存檢視,但無法在其他查詢中參考,即使在相同的儀錶板內也一樣。

動態檢視

除了數據遮罩之外,動態檢視還可用來提供數據列和數據行層級訪問控制。 請參閱 建立動態檢視

Hive 中繼存放區中的檢視 (舊版)

您可以針對任何數據源定義舊版 Hive 檢視,並在舊版 Hive 中繼存放區中註冊它們。 Databricks 建議將所有舊版 Hive 檢視移轉至 Unity 目錄。 請參閱 Hive中繼存放區中的檢視。

Hive 全域暫存檢視 (舊版)

全域暫存檢視是舊版 Azure Databricks 功能,可讓您註冊針對計算資源執行的所有工作負載可用的暫存檢視。 全域暫存檢視是Hive和 HDFS 的舊版保留。 Databricks 建議使用全域暫存檢視。