共用方式為


Azure Databricks 配置概述

Azure Databricks 是一個基於雲的平臺,結合了數據工程和數據科學的最佳功能。 它允許您使用 Apache Spark快速且可擴展的開源框架來構建、管理和分析數據管道,用於大數據處理。 Azure Databricks 還為數據科學家和工程師提供了一個協作工作區,以便他們共同處理機器學習和人工智慧專案。

如果你在政府或公共部門行業工作,此參考體系結構文檔提供了有關將 Azure Databricks 與主權登陸區域或 Azure 登陸區域部署 與應用主權基線策略計劃的 固執己見的指導。

# Azure Databricks 產品文檔 提供了有關各種文章的大量資訊。 本文檔通過提供有關配置 Azure Databricks 環境的關鍵概念和選項的精選建議來補充文檔。

Azure Databricks 的主要特點

Azure Databricks 具有一組豐富的功能,但對於此參考體系結構,我們重點介紹其基礎結構元素。 Azure Databricks 提供:

  • 互動式筆記本:使用筆記本以 Python、Scala、SQL 或 R 編寫代碼,並使用圖表和圖形可視化結果。 與團隊成員一起分享筆記本並發表評論,並將它們與 GitHub 等流行工具集成 Azure DevOps。

  • 計算選項:Azure Databricks 提供各種計算選項來支持數據工程、數據科學和數據分析工作負載。 這些選項包括用於筆記本和作業的按需可擴展無伺服器計算、用於通用分析和自動化作業的預置計算,以及用於執行 SQL 命令的 SQL 倉庫。 實例池提供空閒的即用型實例,以減少啟動和自動擴展時間,從而提高不同數據處理場景的效率。

  • 數據集成:輕鬆連線到各種數據源和目的地,例如 Azure Blob Storage、 Azure Data Lake StorageAzure SQL Database、 Azure Synapse AnalyticsAzure Cosmos DB 等。 使用 Delta Lake,這是一種支援 ACID 事務和架構實施的可靠且高性能的數據湖解決方案。

  • 機器學習:使用 TensorFlow、PyTorch、Scikit-learn 和 XGBoost 等常用框架構建、訓練和部署機器學習模型。 使用 MLflow (一個用於管理機器學習生命週期的開源平臺) 來跟蹤實驗、記錄指標和部署模型。

  • 企業安全性:通過基於角色的訪問控制、加密、審計和合規性等功能,安全地訪問和處理您的數據。 將 Azure Databricks 與 Microsoft Entra ID、Azure Key Vault 和 Azure Private 連結集成,以實現身份和數據保護。

  • 數據治理和共用:Unity Catalog 通過為外部共用提供託管版本的 Delta Sharing 和為數據湖存放庫提供統一的數據治理模型,簡化了組織內部的數據共享和雲中的安全分析。

高級 Databricks 體系結構

Azure Databricks 在 控制平面計算平面之外運行。 參考架構建議了每個控制平面中的配置選項。 下圖描述了整體 Azure Databricks 體系結構。

高級 Databricks 體系結構的屏幕截圖。

控制平面

控制平面是 Azure Databricks 的圖層,用於管理群集和作業的生命週期,以及使用者和數據訪問的身份驗證和授權。 控制平面包括由 Azure Databricks 帳戶中的 Azure Databricks 管理的後端服務。 Web 應用程式位於 control plane 中。

控制平面在 Azure Databricks 擁有的 Azure 訂閱中運行,並通過安全 API 與經典和無伺服器計算平面通信。 控制平面還提供 Web 介面和 REST API,供使用者與 Azure Databricks 交互。

計算平面

計算平面是處理數據的位置。 有兩種類型的計算平面 - 無伺服器和經典。 無伺服器計算平面提供即時和彈性資源,而經典計算平面則依賴於預配置的基礎設施。

無伺服器計算平面

無伺服器計算非常適合臨時查詢、筆記本和短期工作負載。 例如,您可以使用無伺服器計算在筆記本中運行 SQL 命令或執行羽量級作業。 在無伺服器計算平面中,資源在 Azure Databricks 帳戶內的計算圖層中運行。

Azure Databricks 在工作區經典計算平面所在的同一 Azure 區域中創建無伺服器計算平面。 它運行位於 Databricks 帳戶中的伺服器池,運行 Kubernetes 容器,這些容器可以在幾秒鐘內分配給使用者。 有關詳細資訊,請參閱 宣佈推出 Databricks 無伺服器 SQL:適用於 SQL 工作負載的即時、託管、安全且生產就緒的平臺 - Databricks 博客

當使用者同時運行報告或查詢以處理併發負載時,計算平臺會快速使用更多伺服器擴展集群。 Databricks 管理伺服器的整個配置,並根據需要自動執行修補和升級。 無伺服器計算按使用量計費 (例如,按查詢執行或任務運行計費)。

該圖顯示了無伺服器計算平面。

每個伺服器都運行一個安全的配置,所有處理都由三層隔離保護 - 託管運行時的 Kubernetes 容器、託管容器的 VM 和工作區的虛擬網路。 每個圖層都隔離在一個工作區中,不允許共用或跨網路流量。

容器使用強化的配置,VM 關閉且不重複使用,並且網路流量僅限於同一集群中的節點。 所有計算都是短暫的,專用於該工作負載,並在工作負載完成後安全地擦除。

您、控制平面、計算平面和雲服務之間的所有流量都通過 Azure 的全球網路路由,而不是通過公共互聯網。 無伺服器 SQL 倉庫的無伺服器計算平面不使用客戶可配置的後端 Azure Private 連結連接。 Azure Databricks 控制平面通過 mTLS 連接到無伺服器計算平面,僅允許對控制平面 IP 位址進行 IP 訪問。

所有附加的存儲都受到行業標準 AES-256 加密的保護,使用者、控制平面、計算平面和雲服務之間的所有流量都至少使用 TLS 1.2 進行加密。 無伺服器 SQL 倉庫不對託管磁碟使用客戶管理的密鑰。

工作負載沒有該工作負載範圍之外的系統的許可權或憑證,並且通過短期 (一小時) 令牌訪問數據。 這些令牌將安全地傳遞給每個特定的工作負載。

截至 2024 年 6 月,無伺服器計算不支援 Azure 機密計算,但您的工作負載受到多層隔離的保護,如 Azure 無伺服器計算隔離圖所示。

有關更多資訊,請參閱 在 Serverless Compute 上安全地部署工作負載。

Classic 計算平面

經典計算平面適用於長時間運行的作業、生產工作負載和一致的資源需求。 例如,您可以將預置計算用於 ETL 管道、機器學習訓練和數據工程任務。

經典計算平面具有自然隔離,因為它在您自己的 Azure 訂閱中運行。 在 Azure 訂閱的每個工作區的虛擬網络中創建和配置新的計算資源。 計算資源在明確修改之前保持不變,並根據實例類型和持續時間計費。 集群可以將客戶管理的密鑰用於託管磁碟,並且支援 Spot 實例。

Azure Databricks 管理員可以使用群集策略來控制群集的許多方面,包括可用的實例類型、Databricks 版本和實例大小。

Databricks 虛擬網络注入是一項功能,可用於在自己的虛擬網路中部署 Azure Databricks 經典計算平面資源。 此功能可説明你使用服務終結點或專用終結點以更安全的方式將 Azure Databricks 連線到其他 Azure 服務。 還可以使用虛擬網路對等互連將 Azure Databricks 工作區正在運行的虛擬網络與另一個 Azure 虛擬網络對等互連。