了解 SQL 與 Spark 集區整合的使用案例
Azure Synapse Analytics 中提供的 Apache Spark 與 SQL 整合會提供數個優點:
- 您可利用 Apache Spark 提供的巨量資料計算能力
- 在一個平台上使用 Apache Spark 及 SQL 語言與架構時具有彈性
- 整合順暢且不需要複雜的設定
- SQL 與 Apache Spark 共用相同的基礎中繼資料存放區,可輕鬆地傳輸資料
因此,當您部署 Azure Synapse Apache Spark 叢集時,Azure Data Lake Gen2 功能可讓您在其中儲存 Apache Spark SQL 資料表。 若您使用 Apache Spark SQL 資料表,則這些資料表可以從 SQL 式 Transact-SQL 語言進行查詢,而不需要使用 CREATE EXTERNAL TABLE 等命令。 在 Azure Synapse Analytics 中,這些查詢會以原生方式與儲存在 Apache Parquet 格式中的資料檔案進行整合。
在執行主要使用 SQL 的 ETL 流程,但需要呼叫 Apache Spark 的計算能力來執行一部分的解壓縮、轉換及載入 (ETL) 流程的使用案例中,整合可能會很實用,因為這樣做會更有效率。
假設您想要在 Apache Spark 中執行工程工作之後,將資料寫入 SQL 集區。 您可以參考專用 SQL 集區資料作為來源,以便與可能包含其他檔案資料的 Apache Spark DataFrame 聯結。 此方法會使用 Azure Synapse Apache Spark 對 Synapse SQL 連接器,可在 Apache Spark 與 SQL 集區之間有效率地傳輸資料。
Azure Synapse Apache Spark 集區對 Synapse SQL 連接器是 Apache Spark 的資料來源實作。 其會使用 Azure Data Lake Storage Gen2 與 SQL 集區中的 PolyBase,可在 Spark 叢集與 Synapse SQL 執行個體之間有效率地傳輸資料。
另一件要注意的事,是 Azure Synapse Studio 體驗除了上述功能之外,還提供您整合的筆記本體驗。 在此筆記本體驗中,您可以連結 SQL 或 Apache Spark 集區,並使用 Python、Scala 與原生 Spark SQL 開發及執行轉換管線。