將 Dataproc Serverless Spark 與代管筆記本搭配使用

本頁面說明如何使用 Dataproc Serverless,在 Vertex AI Workbench 代管筆記本執行個體中,透過無伺服器 Spark 執行筆記本檔案。

受管理筆記本執行個體可以提交筆記本檔案的程式碼,在 Dataproc Serverless 服務上執行。這項服務會在代管運算基礎架構中執行程式碼,並視需要自動調度資源。因此,您不需要佈建及管理自己的叢集。

Dataproc Serverless 費用只會在工作負載執行時產生。

需求條件

如要在 Dataproc Serverless Spark 上執行筆記本檔案,請參閱下列需求。

  • Dataproc Serverless 工作階段必須與代管筆記本執行個體位於相同區域。

  • 專案不得啟用「需要 OS 登入」(constraints/compute.requireOsLogin) 限制。請參閱「管理機構中的 OS 登入」。

  • 如要在 Dataproc Serverless 上執行筆記本檔案,您必須提供具有特定權限的服務帳戶。您可以將這些權限授予預設服務帳戶,也可以提供自訂服務帳戶。請參閱本頁面的「權限」一節

  • Dataproc 無伺服器 Spark 工作階段會使用虛擬私有雲 (VPC) 網路執行工作負載。虛擬私有雲子網路必須符合特定規定。 請參閱「Dataproc Serverless for Spark 網路設定」一文瞭解相關需求。

權限

為確保服務帳戶具備在 Dataproc Serverless 上執行筆記本檔案的必要權限, 請要求管理員授予服務帳戶專案的 Dataproc 編輯者 (roles/dataproc.editor) IAM 角色。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備在 Dataproc Serverless 上執行筆記本檔案所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要在 Dataproc Serverless 上執行筆記本檔案,您必須具備下列權限:

  • dataproc.agents.create
  • dataproc.agents.delete
  • dataproc.agents.get
  • dataproc.agents.update
  • dataproc.session.create
  • dataproc.sessions.get
  • dataproc.sessions.list
  • dataproc.sessions.terminate
  • dataproc.sessions.delete
  • dataproc.tasks.lease
  • dataproc.tasks.listInvalidatedLeases
  • dataproc.tasks.reportStatus

管理員或許還可透過自訂角色或其他預先定義的角色,將這些權限授予服務帳戶。

事前準備

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks, Vertex AI, and Dataproc APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks, Vertex AI, and Dataproc APIs.

    Enable the APIs

  8. 如果您尚未建立代管型筆記本執行個體,請先完成這項作業。
  9. 如果尚未設定,請設定符合這篇文章所列需求的虛擬私有雲網路。
  10. 開啟 JupyterLab

    1. 前往 Google Cloud 控制台的「Managed notebooks」頁面。

      前往代管型筆記本

    2. 按一下代管型筆記本執行個體名稱旁的「Open JupyterLab」(開啟 JupyterLab)

    啟動 Dataproc Serverless Spark 工作階段

    如要啟動 Dataproc Serverless Spark 工作階段,請完成下列步驟。

    1. 在受管理筆記本執行個體的 JupyterLab 介面中,選取「啟動器」分頁標籤,然後選取「無伺服器 Spark」。如果「啟動器」分頁未開啟,請依序選取「File」>「New Launcher」開啟。

      系統會顯示「建立無伺服器 Spark 工作階段」對話方塊。

    2. 在「工作階段名稱」欄位中,輸入工作階段名稱。

    3. 在「執行設定」部分,輸入要使用的「服務帳戶」。如未輸入服務帳戶,工作階段會使用 Compute Engine 預設服務帳戶

    4. 在「Network configuration」(網路設定) 區段中,選取符合「Dataproc Serverless for Spark 網路設定」所列需求的網路和子網路

    5. 點選「建立」

      系統會開啟新的筆記本檔案。 您建立的 Dataproc Serverless Spark 工作階段,就是執行筆記本檔案程式碼的 Kernel。

    在 Dataproc Serverless Spark 和其他核心上執行程式碼

    1. 將程式碼新增至新筆記本檔案,然後執行程式碼。

    2. 如要在其他核心上執行程式碼,請變更核心

    3. 如要再次在 Dataproc Serverless Spark 工作階段中執行程式碼,請將核心改回 Dataproc Serverless Spark 核心。

    終止 Dataproc Serverless for Spark 工作階段

    您可以在 JupyterLab 介面或 Google Cloud 控制台中終止 Dataproc Serverless Spark 工作階段。筆記本檔案中的程式碼會保留。

    JupyterLab

    1. 在 JupyterLab 中,關閉建立 Dataproc Serverless Spark 工作階段時建立的筆記本檔案。

    2. 在隨即顯示的對話方塊中,按一下「終止工作階段」

    Google Cloud 控制台

    1. 在 Google Cloud 控制台中,前往「Dataproc sessions」(Dataproc 工作階段) 頁面。

      前往 Dataproc 工作階段

    2. 選取要終止的連線,然後按一下「終止」

    刪除 Dataproc Serverless Spark 工作階段

    您可以使用 Google Cloud 控制台刪除 Dataproc 無伺服器 Spark 工作階段。筆記本檔案中的程式碼會保留。

    1. 在 Google Cloud 控制台中,前往「Dataproc sessions」(Dataproc 工作階段) 頁面。

      前往 Dataproc 工作階段

    2. 選取要刪除的會話,然後按一下「刪除」

    後續步驟