Azure Databricks 上的 Apache Spark
本文說明 Apache Spark 如何與 Azure Databricks 和 Databricks Data Intelligence Platform 相關。
Apache Spark 是 Azure Databricks 平臺的核心,是支持計算叢集和 SQL 倉儲的技術。 Azure Databricks 是 Apache Spark 的優化平臺,可提供高效且簡單的平台來執行 Apache Spark 工作負載。
Spark 轉換和動作
在 Apache Spark 中,所有作業都會定義為轉換或動作。
- 轉換:將一些處理邏輯新增至計劃。 範例包括讀取數據、聯結、匯總和型別轉換。
- 動作:觸發處理邏輯來評估和輸出結果。 範例包括寫入、顯示或預覽結果、手動快取或取得列數。
Apache Spark 會使用 延遲執行 模型,這表示在觸發動作之前,不會評估作業集合所定義的邏輯。 為了避免不必要的邏輯評估,只使用動作將結果儲存回目標數據表。
因為操作已經成為優化邏輯的處理瓶頸,因此 Azure Databricks 在 Apache Spark 已有的優化之上,新增許多進一步的優化,以確保邏輯的最佳執行。 這些優化會考慮一次由指定動作觸發的所有轉換,並根據數據的實體配置來尋找最佳計劃。 手動快取數據或傳回生產管線中的預覽結果可能會中斷這些優化,並導致成本和延遲增加。
Apache Spark 與 Azure Databricks 的關聯性為何?
Databricks 公司是由 Apache Spark 的原始建立者所創立。 作為開放原始碼的軟體專案,Apache Spark 擁有許多來自頂尖公司的貢獻者,包括 Databricks。
Databricks 會繼續開發和發行 Apache Spark 的功能。 Databricks Runtime 包含一些其他優化和專有功能,這些功能是在 Apache Spark 的基礎上建立並擴展而來,包括 Photon,一個用 C++ 重寫的 Apache Spark 優化版本。
Apache Spark 如何在 Azure Databricks 上運作?
當您在 Azure Databricks 上部署計算叢集或 SQL 倉儲時,Apache Spark 會設定並部署至虛擬機。 您不需要設定或初始化 Spark 內容或 Spark 工作階段,因為這些是由 Azure Databricks 為您管理。
我可以在不使用 Apache Spark 的情況下使用 Azure Databricks 嗎?
Azure Databricks 支援各種不同的工作負載,並在 Databricks Runtime 中包含 開放原始碼 連結庫。 Databricks SQL 會在幕後使用 Apache Spark,但終端使用者會使用標準 SQL 語法來建立和查詢資料庫物件。
適用於 機器學習 的 Databricks Runtime 已針對 ML 工作負載進行優化,許多數據科學家在處理 Azure Databricks 時,會使用 TensorFlow 和 SciKit Learn 等主要 開放原始碼 連結庫。 您可以使用 作業 ,針對 Azure Databricks 所部署和管理的計算資源排程任意工作負載。
為何在 Azure Databricks 上使用 Apache Spark?
Databricks 平臺提供安全、共同作業的環境,可讓您開發及部署可隨著業務調整的企業解決方案。 Databricks 員工包括世界上許多知識最淵博的 Apache Spark 維護人員和使用者。 公司持續開發和發行新的優化,以確保使用者可以存取執行Apache Spark最快的環境。
如何深入瞭解如何在 Azure Databricks 上使用 Apache Spark?
若要開始使用 Azure Databricks 上的 Apache Spark,請直接深入! Apache Spark DataFrames 教學課程會逐步解說在 Python、R 或 Scala 中載入和轉換數據。 請參閱 教學課程:使用 Apache Spark DataFrame 載入和轉換數據。
如需 Spark 中 Python、R 和 Scala 語言支援的其他資訊,請參閱 Azure Databricks 上的 PySpark、 SparkR 概觀和 適用於 Scala 開發人員 的 Azure Databricks 小節,以及 Apache Spark API 的參考。