為充分運用 Dataproc,瞭解其基礎構成要素會有所助益。本指南說明 Dataproc 的核心概念和功能,以及這些特徵提供的效益。
叢集基礎型模式
這種模式以基礎架構為核心概念,是使用 Dataproc 的標準方法,可透過專屬的虛擬機器執行資料處理任務,並賦予您完全的控管能力。
- 叢集:叢集是使用者個人的資料處理引擎,由 Google Cloud 虛擬機器組成。建立叢集後,即可執行 Apache Spark 和 Apache Hadoop 等開放原始碼架構,而叢集大小、機型和設定等條件,皆可由使用者完全掌控。
- 工作:工作是指 PySpark 指令碼或 Hadoop 查詢之類的特定任務。使用者不需直接在叢集上執行工作,而是將工作提交給 Dataproc 服務,由它代為管理工作的執行作業;此外,同一個叢集可以接收多份工作。
- 工作流程範本:工作流程範本是可重複使用的定義功能,用於調度管理一系列工作 (亦即工作流程)。例如,範本可以定義工作之間的相依關係,規定在資料清理工作順利完成後,才能執行機器學習工作。無論是在既有叢集,或是在為執行工作流程而建立的臨時 (暫時性) 叢集,都可以執行範本化的工作流程,並於完成後刪除。如有需要,隨時皆可使用範本執行既定的工作流程。
- 自動調度資源政策:自動調度資源政策包含使用者所定義的規則,可根據叢集工作負載靈活應變,在叢集中動態新增或移除 worker 機器,實現最佳叢集成本效益和效能。
無伺服器模式
Serverless for Apache Spark 是新穎的 Dataproc 服務模式,可自動完成執行作業,不必佈建、管理或調度底層基礎架構的資源,就能執行各項工作,同時處理所有細節。
- 批次:批次 (全稱為批次工作負載) 是 Dataproc 工作在無伺服器環境下的對等形式。使用者將程式碼 (例如 Spark 工作) 提交給服務系統後,Serverless for Apache Spark 便會依實際需求佈建必要資源、執行工作,並於完成後釋放資源。使用者無需自行建立或管理叢集或工作資源,而是交由服務系統代勞。
- 互動式工作階段:互動式工作階段提供即時、隨選的環境,用於進行探索性資料分析,通常在 Jupyter Notebook 內運作。互動式工作階段是一種暫時性的無伺服器工作區,方便執行查詢及開發程式碼,而不必佈建並管理叢集和筆記本資源。
- 工作階段範本:工作階段範本是可重複使用的設定功能,用於定義互動式工作階段。範本包含工作階段的各項設定值,例如 Spark 屬性和程式庫依附元件。人們通常會在 Jupyter Notebook 中使用範本,建立互動式工作階段的環境來進行開發任務。
Metastore (中繼存放區) 服務
Dataproc 提供中繼資料 (關於資料本身的描述資訊) 的代管服務。
- Metastore:Metastore (中繼存放區) 是記載資料結構定義的中央目錄,例如資料表和資料欄名稱,以及資料類型。Metastore 可以讓不同服務、叢集和工作瞭解資料結構。目錄通常會儲存在 Cloud Storage 中。
- 聯盟:中繼資料聯盟是一項進階功能,可供存取及查詢多個 Metastore 的資料,就像存取單一統合的 Metastore 一樣。
筆記本和開發環境
Dataproc 筆記本和 IDE 會連結至整合式開發環境,讓您在其中編寫及執行程式碼。
- BigQuery Studio 和 Workbench:這些是統合式的數據分析和筆記本環境,可在其中編寫程式碼 (例如在 Jupyter Notebook),並使用 Dataproc 叢集或無伺服器工作階段做為強大的後端引擎,在大型資料集上執行程式碼。
- Dataproc JupyterLab 外掛程式:這是官方 JupyterLab 擴充功能,可用作筆記本環境中的 Dataproc 控制台。使用者不必離開 Jupyter 介面,就能瀏覽、建立、管理叢集並提交工作,大幅簡化工作流程。瞭解詳情
- Dataproc Spark Connect Python 連接器:這個 Python 程式庫可簡化在 Dataproc 中使用 Spark Connect 的程序,且能處理驗證和端點設定作業,讓您更輕鬆將本機 Python 環境 (例如筆記本或 IDE) 連線至遠端 Dataproc 叢集,進行互動式開發。瞭解詳情
環境自訂功能
Dataproc 提供工具和元件,可自訂環境以符合特定需求。 Google Cloud 控制台的「Utilities」(公用程式) 專區提供實用工具,可供自訂 Dataproc 環境。