Azure Synapse Analytics 的常見問題

您將在本指南中找到 Azure Synapse Analytics 最常遇到的問題。

一般

如何使用 RBAC 角色來保護我的工作區?

Azure Synapse 導入了許多角色及其指派範圍,為您簡化保護工作區的作業。

Synapse RBAC 角色:

  • Synapse 管理員
  • Synapse SQL 管理員
  • Synapse Spark 管理員
  • Synapse 參與者
  • Synapse 成品發行者
  • Synapse 成品使用者
  • Synapse 計算操作員
  • Synapse 認證使用者
  • Synapse 連結資料管理員
  • Synapse 使用者

若要保護您的 Synapse 工作區,請將 RBAC 角色指派給這些 RBAC 範圍:

  • 工作區
  • Spark 集區
  • 整合執行階段
  • 連結的服務
  • 認證

此外,透過專用 SQL 集區,您可以使用您所熟悉和喜愛的所有安全性功能。

如何控制專用的 SQL 集區、無伺服器 SQL 集區,以及無伺服器 Spark 集區?

首先,您可以將 Azure Synapse 與 Azure 訂用帳戶層級適用的內建成本分析和成本警示搭配使用。

  • 專用 SQL 集區 - 您可以直接查看成本和對成本的控制,因為專用 SQL 集區的大小會由您建立並指定。 您可以進一步控制哪些使用者可使用 Azure RBAC 角色來建立或調整專用 SQL 集區。

  • 無伺服器 SQL 集區 - 您有監視和成本管理控制項,可讓您限制每日、每週和每個月的費用。 如需詳細資訊,請參閱無伺服器 SQL 集區的成本管理

  • 無伺服器 Spark 集區 - 您可以限制可使用 Synapse RBAC 角色來建立 Spark 集區的人員。

在正式發行後,Synapse 工作區是否支援中進行物件和細微性的資料夾組織?

Synapse 工作區支援使用者定義的資料夾。

我是否可將多個 Power BI 工作區連結至單一 Azure Synapse 工作區?

是的,自 2021 年 6 月 10 日起,Synapse Studio 現在可讓您將多個 Power BI 工作區新增至單一 Azure Synapse 工作區。

Azure Synapse Analytics 目前支援從 Azure Cosmos DB 到 Synapse Apache Spark 的 Azure Synapse Link 和無伺服器 SQL 集區。 Apache Spark 的 Azure Synapse Link 已正式發行。 無伺服器 SQL 集區的 Synapse Link 處於預覽階段。 如需詳細資訊,請參閱適用於 Azure Cosmos DB 的 Azure Synapse Link

對於 SQL Server 2022 和 Azure SQL Database,適用於 SQL 的 Azure Synapse Link 現已正式推出。 如需詳細資訊,請參閱什麼是適用於 SQL 的 Azure Synapse Analytics?

Azure Synapse 工作區是否支援 CI/CD?

是! 所有的管線成品、筆記本、SQL 指令碼和 Spark 作業定義都會提供於 Git 中。 所有集區定義都會以 Azure Resource Manager (ARM) 範本的形式儲存在 Git 中。 專用 SQL 集區物件 (結構描述、資料表、檢視等) 將會以具有 CI/CD 支援的資料庫專案進行管理。 如需詳細資訊,請參閱此持續整合 (CI) 與持續部署 (CD) 指南

專用 SQL 集區與無伺服器集區的功能有何差異?

這兩種集區之間的功能和需求有所不同。 差異包括資料庫物件、查詢語言功能、安全性、工具、資料存取和資料格式。 如需 SQL 集區和無伺服器集區的詳細比較,請造訪集區比較。 如需使用任一類型集區時的最佳做法,請參閱專用 SQL 集區的最佳做法無伺服器 SQL 集區的最佳做法

什麼是差異資料表,為何該使用差異資料表?

Lakehouse 是以開放式直接存取的資料格式為基礎,例如 Apache Parquet。 對於機器學習和資料科學,Lakehouse 具有頭等的支援。 差異資料表是 Delta Lake 中所包含的資料檢視,可支援 Apache Spark DataFrame 讀取和寫入 API 所提供的大部分選項。 Lakehouse 有助於處理資料倉儲的主要挑戰,例如資料過期、可靠性、擁有權總成本,以及資料鎖定。 在差異資料表上,可以使用自動壓縮和調適型查詢計劃等最佳化選項。 如需 Delta Lake 的詳細指南,請造訪 Delta Lake 指南

什麼是自動壓縮?

自動壓縮是差異資料表自動最佳化的兩個互補功能之一。 成功寫入資料表之後,自動壓縮可以進一步壓縮具有最多小型檔案的分割區。 若要使用串流,建議您加入自動壓縮,因為這種情況下幾分鐘的延遲是可以接受的,前提是您的資料表上沒有一般的 OPTIMIZE 呼叫。 如需自動最佳化和自動壓縮的詳細資訊,請參閱此自動最佳化指南

Pipelines

我如何確知要使用哪個認證來執行管線?

Synapse 管線中的每個活動都會使用在連結服務內指定的認證來執行。

Synapse 整合是否支援 SSIS IR?

目前沒有。

Azure Data Factory 管線與 Azure Synapse 管線有何不同?

差異可支援全域參數、監視資料流程的 Spark 作業,以及 Integration Runtime 共用的一些範例。 如需詳細資訊,請參閱此文件:資料整合 - Synapse 與 ADF

如何將現有的管線從 Azure Data Factory 遷移至 Azure Synapse 工作區?

目前,您必須手動重新建立 Azure Data Factory 管線和相關成品,方法是從原始管線匯出 JSON,並將其匯入至 Synapse 工作區。

我要如何使用 Apache Spark 工作定義?

請參閱此快速入門手冊

我可以從 ADF 管線呼叫筆記本嗎?

此使用案例有兩個選項。 其中一個選項是將管線保留在 ADF 中,而且還必須包裝在網路活動中。 如需此選項的詳細資訊,請檢視此網路活動指南。 另一個選項是將管線移轉到 Synapse。 如需第二個選項的詳細資訊,請參閱此移轉程式碼範例

Apache Spark

適用於 Synapse 的 Apache Spark 與 Apache Spark 之間有何差異?

適用於 Synapse 的 Apache Spark 本質上就是 Apache Spark,但新增了與其他服務 (Azure AD、AzureML 等等) 進行整合的支援,以及額外的程式庫 (mssparktuils、Hummingbird) 和預先調整的效能設定。

目前在 Apache Spark 上執行的任何工作負載都無須變更,即可在適用於 Azure Synapse 的 Apache Spark 上執行。

Spark 有哪些可用版本?

自 2021 年 5 月起,Azure Synapse Apache Spark 可完全支援 Spark 2.4 和 Spark 3.1。 自 2022 年 4 月起,Spark 3.2 處於預覽狀態。 如需核心元件和目前支援版本的完整清單,請參閱 Apache Spark 版本支援

Azure Synapse Spark 中是否有相當於 Dbutils 的項目?

是,Azure Synapse Apache Spark 提供 mssparkutils 程式庫。 如需公用程式的完整文件,請參閱 Microsoft Spark 公用程式簡介

如何在 Apache Spark 中設定工作階段參數?

若要設定工作階段參數,請使用 %%configure magic available。 必須重新啟動工作階段,參數才會生效。

如何在無伺服器 Spark 集區中設定叢集層級參數?

若要設定叢集層級參數,您可以為 Spark 集區提供 spark.conf 檔案。 此集區將會接受傳入組態檔中的參數。

我是否可在 Azure Synapse Analytics 中執行多重使用者 Spark 叢集?

Azure Synapse 針對特定使用案例提供了特殊用途引擎。 適用於 Synapse 的 Apache Spark 是設計為作業服務,而不是叢集模型。 使用者在兩種情況下會需要多重使用者叢集模型。

案例 #1:許多使用者存取叢集是為了提供 BI 用途所需的資料。

要完成這項工作,最簡單的方法是為 Spark 調整資料,然後利用 Synapse SQL 的服務功能,將 Power BI 連線至這些資料集。

案例 2:讓多個開發人員使用單一叢集以節省成本。

為達到此案例的需求,您應為每個開發人員提供一個無伺服器 Spark 集區,並將其設定為使用少量的 Spark 資源。 由於無伺服器 Spark 集區在受到主動使用之前不會產生任何費用,因此在有多個開發人員的情況下,可將成本降到最低。 集區會共用中繼資料 (Spark 資料表),而能夠輕易搭配運作使用。

如何包含、管理和安裝程式庫?

您可以在建立 Spark 集區時,從 Synapse 工作區或 Azure 入口網站透過 requirements.txt 檔案安裝外部套件。 請參閱管理 Azure Synapse Analytics 中的 Apache Spark 程式庫

Synapse Spark 上有哪些工具可供我使用?

Synapse Spark 上的 MSSparkUtils 提供了各種公用程式來增強您的體驗,與其他工具和服務的整合也更加容易。 可搭配檔案系統使用、取得環境變數、將筆記本鏈結在一起,並使用最少的手動步驟來處理祕密。 如需完整的文件,請造訪 Microsoft Spark 公用程式

專用 SQL 集區

專用 SQL 集區 (SQL DW) 與 Azure Synapse 工作區中的專用 SQL 集區有何差異?

專用 SQL 集區 (先前稱為 SQL DW) 是 Azure 平台即服務 (PaaS) 企業資料倉儲平台。 您可以查詢現有的專用 SQL 集區 (先前稱為 SQL DW),也可以在 Azure Synapse 工作區中建立新的專用 SQL 集區。 並非 Azure Synapse Analytics 工作區中專用 SQL 集區的所有功能都適用於獨立的專用 SQL 集區 (先前稱為 SQL DW),反之亦然。 如需詳細資訊,請參閱 Azure Synapse專用 SQL 集區 (先前稱為 SQL DW) 與 Azure Synapse Analytics 工作區中的專用 SQL 集區有何差異?。 若要從現有的專用 SQL 集區 (原為 SQL DW) 啟用 Azure Synapse 工作區功能,請參閱為專用 SQL 集區啟用 Synapse 工作區功能 (先前 SQL DW)

專用 SQL 集區與無伺服器集區的功能有何差異?

您可以在 Synapse SQL 中的 T-SQL 功能差異中找到差異的完整清單。

Azure Synapse 現已正式發行,如何將先前獨立的專用 SQL 集區移至 Azure Synapse?

沒有「移動」或「移轉」的必要。 您可以選擇在現有的集區上啟用新的工作區功能。 這麼做將不會有重大變更,而是能夠使用 Synapse Studio、Spark 和無伺服器 SQL 集區等新功能。 並非 Azure Synapse Analytics 工作區中專用 SQL 集區的所有功能都適用於專用的 SQL 集區 (先前稱為 SQL DW),反之亦然。 若要從現有的專用 SQL 集區 (原為 SQL DW) 啟用工作區功能,請參閱為專用 SQL 集區啟用 Synapse 工作區功能 (先前 SQL DW)

專用 SQL 集區現在的預設部署為何?

根據預設,所有新的專用 SQL 集區都會部署至工作區;但若您有需要,仍可建立獨立形式的專用 SQL 集區 (先前稱為 SQL DW)。

網路安全性

如何保護 Azure Synapse 工作區的存取權?

在具有或沒有 受控虛擬網路的情況下,您都都可以從公用網路連線到您的工作區。 如需詳細資訊,請參閱連線能力設定。 您可以啟用 公用網路存取功能工作區防火牆,來控制來自公用網路的存取。 或者,您可以使用受控私人端點私人連結,來連線至您的工作區。 沒有 Azure Synapse Analytics 受控虛擬網路的 Synapse 工作區無法透過受控私人端點進行連線。