建立啟用 Spark 的 Dataproc 執行個體
本頁說明如何建立啟用 Dataproc Spark 的 Vertex AI Workbench 執行個體。本頁面也會說明 Dataproc JupyterLab 擴充功能的優點,並概述如何搭配 Dataproc 無伺服器服務和 Compute Engine 上的 Dataproc 使用這項擴充功能。
Dataproc JupyterLab 擴充功能總覽
自 M113
版起,Vertex AI Workbench 執行個體已預先安裝 Dataproc JupyterLab 擴充功能。
Dataproc JupyterLab 擴充功能提供兩種執行 Apache Spark 筆記本工作的方法:Dataproc 叢集和 Dataproc Serverless。
- Dataproc 叢集提供豐富的功能,可控管 Spark 執行的基礎架構。您可以選擇 Spark 叢集的大小和設定,自訂及控管環境。這種做法非常適合複雜工作負載、長時間執行的工作,以及精細的資源管理。
- 無伺服器型 Dataproc可免除基礎架構相關問題。您提交 Spark 工作,Google 會在幕後處理資源的佈建、調度和最佳化作業。這種無伺服器方法可為資料科學和機器學習工作負載提供具成本效益的選項。
無論選擇哪種方式,您都可以使用 Spark 處理及分析資料。要選擇 Dataproc 叢集或無伺服器型 Dataproc,取決於您的特定工作負載需求、所需控制層級和資源用量模式。
使用 Dataproc Serverless 處理資料科學和機器學習工作負載的優點包括:
- 免除叢集管理工作:您不必費心佈建、設定或管理 Spark 叢集,這可節省您的時間和資源。
- 自動調度資源:Dataproc 無伺服器會根據工作負載自動調度資源,因此您只需支付實際使用的資源費用。
- 高效能:Dataproc Serverless 經過效能最佳化,並充分運用 Google Cloud的基礎架構。
- 與其他技術整合 Google Cloud : Dataproc Serverless 可與其他 Google Cloud 產品整合,例如 BigQuery 和 Dataplex Universal Catalog。
詳情請參閱 Dataproc Serverless 說明文件。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
Dataproc 工作站 (
roles/dataproc.worker
) 專案 -
Dataproc 編輯者 (
roles/dataproc.editor
) 叢集上的dataproc.clusters.use
權限 -
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
-
dataproc.clusters.use
前往 Google Cloud 控制台的「Instances」(執行個體) 頁面。
按一下「建立新標籤」
。在「New instance」對話方塊中,按一下「Advanced options」。
在「建立執行個體」對話方塊的「詳細資料」部分,確認已選取「啟用 Dataproc Serverless 互動工作階段」。
確認「Workbench type」(工作台類型) 已設為「Instance」(執行個體)。
在「環境」部分,請務必使用最新版本或編號
M113
以上的版本。點選「建立」。
Vertex AI Workbench 會建立執行個體並自動啟動。執行個體可供使用時,Vertex AI Workbench 會啟用「Open JupyterLab」(開啟 JupyterLab) 連結。
依序選取「設定」>「Cloud Dataproc 設定」。
在「設定設定」分頁的「專案資訊」下方,變更「專案 ID」和「區域」,然後按一下「儲存」。
這些變更必須重新啟動 JupyterLab 才會生效。
如要重新啟動 JupyterLab,請依序選取「File」> Shut Down,然後在「Vertex AI Workbench instances」頁面點選「Open JupyterLab」。
DNS 項目設定正確無誤。
同一個專案中有可用的叢集 (如果沒有,您需要建立一個)。
叢集已啟用元件閘道和選用的 Jupyter 元件。
如要進一步瞭解 Dataproc JupyterLab 擴充功能,請參閱「使用 JupyterLab 擴充功能開發無伺服器 Spark 工作負載」。
如要進一步瞭解 Dataproc Serverless,請參閱 Dataproc Serverless 說明文件。
如要進一步瞭解如何搭配 Google Cloud 產品和服務使用 Spark,請參閱 Spark on Google Cloud。
在 GitHub 上瀏覽可用的 Dataproc 範本。
透過
serverless-spark-workshop
GitHub 上的範例,瞭解無伺服器 Spark。
必要的角色
如要確保服務帳戶具備在 Dataproc 無伺服器叢集或 Dataproc 叢集上執行 Notebook 檔案的必要權限,請要求管理員將下列 IAM 角色授予服務帳戶:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義角色具備在 Dataproc 無伺服器叢集或 Dataproc 叢集上執行筆記本檔案所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要在 Dataproc Serverless 叢集或 Dataproc 叢集上執行筆記本檔案,您必須具備下列權限:
管理員或許還可透過自訂角色或其他預先定義的角色,將這些權限授予服務帳戶。
建立已啟用 Dataproc 的執行個體
如要建立已啟用 Dataproc 的 Vertex AI Workbench 執行個體,請按照下列步驟操作:
開啟 JupyterLab
按一下執行個體名稱旁的「Open JupyterLab」。
瀏覽器會開啟 JupyterLab Launcher 分頁。根據預設,其中包含 Dataproc Serverless Notebooks 和 Dataproc Jobs and Sessions 的專區。如果所選專案和區域中有適用於 Jupyter 的叢集,就會顯示「Dataproc Cluster Notebooks」(Dataproc 叢集筆記本) 部分。
將擴充功能與 Dataproc Serverless 搭配使用
與 Vertex AI Workbench 執行個體位於相同區域和專案的 Dataproc Serverless 執行階段範本,會顯示在 JupyterLab Launcher 分頁的「Dataproc Serverless Notebooks」部分。
如要建立執行階段範本,請參閱「建立 Dataproc 無伺服器執行階段範本」。
如要開啟新的無伺服器 Spark 筆記本,請按一下執行階段範本。遠端 Spark 核心大約需要一分鐘才能啟動。核心啟動後,您就可以開始編碼。
搭配 Dataproc on Compute Engine 使用擴充功能
如果您建立 Dataproc on Compute Engine Jupyter 叢集,「啟動器」分頁會顯示「Dataproc Cluster Notebooks」(Dataproc 叢集 Notebook) 專區。
系統會顯示四張資訊卡,分別對應您在該地區和專案中可存取的每個 Jupyter 就緒 Dataproc 叢集。
如要變更區域和專案,請按照下列步驟操作:
如要建立新筆記本,請按一下所需卡片。Dataproc 叢集上的遠端核心啟動後,您就可以開始編寫程式碼,然後在叢集上執行。
使用 gcloud CLI 和 API 管理執行個體上的 Dataproc
本節說明如何管理 Vertex AI Workbench 執行個體上的 Dataproc。
變更 Dataproc 叢集的區域
Vertex AI Workbench 執行個體的預設核心 (例如 Python 和 TensorFlow) 是在本機執行的核心,也就是在執行個體的 VM 中執行。在啟用 Dataproc Spark 的 Vertex AI Workbench 執行個體中,筆記本會透過遠端核心在 Dataproc 叢集上執行。遠端核心會在執行個體 VM 以外的服務上執行,因此您可以存取同一個專案中的任何 Dataproc 叢集。
根據預設,Vertex AI Workbench 會使用與執行個體位於相同區域的 Dataproc 叢集,但只要在 Dataproc 叢集上啟用元件閘道和選用的 Jupyter 元件,您就能變更 Dataproc 區域。
測試存取權
Vertex AI Workbench 執行個體預設會啟用 Dataproc JupyterLab 擴充功能。如要測試 Dataproc 的存取權,請將下列 curl 要求傳送至 kernels.googleusercontent.com
網域,檢查執行個體遠端核心的存取權:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .
如果 curl 指令失敗,請檢查下列事項:
關閉 Dataproc
Vertex AI Workbench 執行個體預設會啟用 Dataproc。您可以將 disable-mixer
metadata
鍵設為 true
,建立 Dataproc 關閉的 Vertex AI Workbench 執行個體。
gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true
啟用 Dataproc
如要在已停止的 Vertex AI Workbench 執行個體上啟用 Dataproc,請更新中繼資料值。
gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false
使用 Terraform 管理 Dataproc
Terraform 上的 Vertex AI Workbench 執行個體 Dataproc 是使用中繼資料欄位中的 disable-mixer
鍵管理。將 disable-mixer
metadata
鍵設為 false
,即可開啟 Dataproc。將 disable-mixer
中繼資料鍵設為 true
,即可關閉 Dataproc。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
疑難排解
如要診斷及解決建立 Dataproc Spark 啟用執行個體的問題,請參閱「排解 Vertex AI Workbench 問題」。