有了 Serverless for Apache Spark,就能執行 Spark 工作負載,不必佈建及管理自己的 Dataproc 叢集,您可以透過兩種方式執行 Serverless for Apache Spark 工作負載:
批次工作負載
使用Google Cloud 控制台、Google Cloud CLI 或 Dataproc API,將批次工作負載提交至 Serverless for Apache Spark 服務。這項服務會在代管運算基礎架構中執行工作負載,並視需要自動調度資源。Serverless for Apache Spark 費用只會在工作負載執行時產生。
如要開始使用,請參閱「執行 Apache Spark 批次工作負載」。
互動工作階段
在 Serverless for Apache Spark for Spark 互動式工作階段中,於 Jupyter 筆記本撰寫及執行程式碼。你可以透過下列方式建立筆記本工作階段:
在 BigQuery Studio 筆記本中執行 PySpark 程式碼。 使用 BigQuery Python 筆記本建立以 Spark Connect 為基礎的 Serverless for Apache Spark 互動式工作階段。每個 BigQuery 筆記本只能有一個與其相關聯的有效無伺服器 Apache Spark 工作階段。
使用 Dataproc JupyterLab 外掛程式,從您建立及管理的範本建立多個 Jupyter 筆記本工作階段。在本機或 Compute Engine VM 上安裝外掛程式後,JupyterLab 啟動器頁面會顯示對應不同 Spark 核心設定的卡片。按一下資訊卡建立 Serverless for Apache Spark 筆記本工作階段,然後開始在筆記本中編寫及測試程式碼。
您也可以使用 Dataproc JupyterLab 外掛程式,透過 JupyterLab 啟動器頁面執行下列動作:
- 建立 Dataproc on Compute Engine 叢集。
- 將工作提交至 Dataproc on Compute Engine 叢集。
- 查看 Google Cloud 和 Spark 記錄檔。
與 Compute Engine 上的 Dataproc 相比,無伺服器 Apache Spark 的優勢
如要佈建及管理基礎架構,然後在 Spark 和其他開放原始碼處理架構上執行工作負載,請使用 Compute Engine 上的 Dataproc。下表列出 Compute Engine 上的 Dataproc 與 Serverless for Apache Spark 的主要差異。
功能 | Serverless for Apache Spark | Dataproc on Compute Engine |
---|---|---|
處理架構 | 批次工作負載:Spark 3.5 和更早版本 互動式工作階段:Spark 3.5 和更早版本 |
Spark 3.5 和更早版本。其他開放原始碼架構,例如 Hive、Flink、Trino 和 Kafka |
無伺服器 | 是 | 否 |
啟動時間 | 60 年代 | 90 年代 |
基礎架構控制 | 否 | 是 |
資源管理 | 以 Spark 為基礎 | 以 YARN 為基礎 |
GPU 支援 | 是 | 是 |
互動工作階段 | 是 | 否 |
自訂容器 | 是 | 否 |
VM 存取權 (例如 SSH) | 否 | 是 |
Java 版本 | Java 17、11 | 支援的舊版 |
安全性法規遵循
Apache Spark 無伺服器版遵循所有 資料落地、 CMEK、 VPC-SC 和其他 Dataproc 遵循的安全防護規定。
批次工作負載功能
您可以執行下列 Serverless for Apache Spark 批次工作負載類型:
- PySpark
- Spark SQL
- Spark R
- Spark (Java 或 Scala)
提交 Serverless for Apache Spark 批次工作負載時,您可以指定 Spark 屬性。