Apache Spark 是用於大規模資料處理的整合數據分析引擎,內建 SQL、串流、機器學習和圖形處理等多種模組。Spark 可以在 Apache Hadoop、Kubernetes 和雲端上執行,也可獨立運作,處理各種資料來源。這項服務提供豐富的 Java、Scala、Python 和 R API,可供廣大開發人員和數據資料學家使用。另外,它的 Python API (PySpark) 也能與 Pandas 等常見程式庫完美整合,方便您處理資料。Google Cloud 提供無伺服器選項、Lightning Engine 等突破性效能強化功能,並與統一的資料和 AI 平台深度整合,讓 Apache Spark 達到全新境界。
常會有人問 Apache Spark 和 Apache Hadoop 的個別使用時機,其實兩者都是當今市場上最出眾的分散式系統,兩者的 Apache 頂層專案也相似,並且經常一起使用。Hadoop 主要用於具有 MapReduce 模式的大量磁碟作業,而 Spark 則是一種更靈活但成本通常較高的記憶體內處理架構。瞭解每種工具的特性,將有助於判斷最佳實作時機。
瞭解 Google Cloud 如何協助您以更簡單、整合且更具成本效益的方式,執行 Apache Spark 工作負載。您可以使用 Google Cloud Serverless for Apache Spark 進行開發,免去作業負擔,或是使用 Dataproc 建立代管 Spark 叢集。
Spark 生態系統包括五個主要元件:
Google Cloud 為這些元件提供最佳化環境。舉例來說,Lightning Engine 可提升 Spark 和 DataFrame 的效能,Google Cloud Serverless for Apache Spark 則能簡化部署和管理作業,而 Gemini 可在 BigQuery Studio 和 Vertex AI Workbench 等筆記本環境中,提升開發人員的工作效率。
快速
相較於 Hadoop MapReduce,Spark 的記憶體內處理和 DAG 排程器可讓工作負載執行速度更快,尤其是疊代任務。Google Cloud 透過最佳化基礎架構和 Lightning Engine 提升速度。
易用性
Spark 的高階運算子可簡化平行處理應用程式的建構作業。您可以透過 Scala、Python、R 和 SQL 以互動方式使用 Spark,加速開發作業。Google Cloud 提供無伺服器選項,以及整合筆記本與 Gemini。
擴充性
Spark 可水平擴充,可將工作分散至叢集節點,以處理大量資料。Google Cloud 提供無伺服器自動調度資源功能和彈性的 Dataproc 叢集,可簡化擴充作業。
通用性
Spark 提供多個程式庫,包括 SQL 和 DataFrames、機器學習適用的 MLlib、GraphX 和 Spark Streaming。您可在同一應用程式中無縫組合這些程式庫。
在開放原始碼架構下,帶動技術創新
Spark 運用開放原始碼社群的力量,快速創新並解決問題。Google Cloud 秉持開放精神,提供標準 Apache Spark,同時強化其功能。
Apache Spark 是一個快速的通用型叢集運算引擎,可部署在 Hadoop 叢集中或獨立模式下。透過 Spark,程式設計師可以使用 Java、Scala、Python、R 和 SQL 快速編寫應用程式,然後讓開發人員、數據資料學家和具有統計經驗的進階商務使用者都可以存取。使用 Spark SQL 時,使用者可以連接任何資料來源,並將其顯示為資料表供 SQL 用戶端使用。此外,在 Spark 中也可以輕鬆實作互動式機器學習演算法。
使用 Apache Impala、Apache Hive 或 Apache Drill 之類僅限 SQL 的引擎時,使用者只能使用 SQL 或類似 SQL 的語言查詢儲存在多個資料庫中的資料。所以架構比 Spark 要小一些。 不過,在 Google Cloud 中,您不必做出嚴格的選擇。BigQuery 提供強大的 SQL 功能,Google Cloud Serverless for Apache Spark 和 Dataproc 則提供 Spark 和 Hadoop 代管服務,讓您能透過 BigLake Metastore 和開放式格式,在同一份資料上使用 Spark 的多樣化功能。
很多公司都會使用 Spark 將需要密集運算的艱鉅任務化繁為簡,更有效率地處理及分析大量的結構化和非結構化即時/封存資料。此外,Spark 也讓使用者能完美整合相關的複雜功能,例如機器學習和圖形演算法。 常見的應用包括:
資料工程師可使用 Spark 編寫程式並建立資料處理工作,且有更多的程式語言選擇。在 Google Cloud 中,資料工程師可以使用 Google Cloud Serverless for Apache Spark 來執行 ETL/ELT pipeline,免去作業負擔,或是使用 Dataproc 來控管代管叢集,所有服務都整合了 BigQuery 和 Dataplex Universal Catalog 等治理工具。
數據資料學家可以使用 Spark 搭配 GPU,在數據分析和機器學習方面獲得更豐富的成果。能使用熟悉的語言更快處理大量資料,將有助於加速創新。 Google Cloud 為 Spark 提供強大的 GPU 支援,並與 Vertex AI 完美整合,讓數據資料學家能更快建構及部署模型。他們可以使用 BigQuery Studio、Vertex AI Workbench 等各種筆記本環境,或是連結 Jupyter 和 VS Code 等偏好的 IDE。這種彈性的開發體驗,再加上 Gemini 的支援,讓他們從最初的探索階段到實際部署,都能加快工作流程。
Google Cloud 可解決大規模執行 Spark 時常見的難題,讓您專心取得洞察資訊,不必煩惱基礎架構。
易用性
Dataproc 和 Serverless for Apache Spark 均為全代管服務,可自動佈建及調度資源,讓您不必再為營運和調整作業煩惱。
智慧功能
Spark 開發人員可運用 Gemini 的強大功能,在整合式資料平台中完成整個生命週期,包括開發、部署、監控和疑難排解,而且這個平台已準備好支援資料湖倉。
速度升級
Lightning Engine 是 Google Cloud 的新一代引擎,可加速處理 Spark 工作,無須手動調整,讓您享有業界頂尖的 Spark 效能,同時節省成本。