使用選用元件功能建立 Dataproc 叢集時,可以安裝 Jupyter 等其他元件。本頁說明 Jupyter 元件的相關資訊。
Jupyter 元件是用於進行互動資料分析的網頁式單一使用者筆記本,支援 JupyterLab 網頁版使用者介面。Jupyter 網頁版使用者介面可透過叢集第一個主節點的連接埠 8123 存取。
為多位使用者啟動筆記本。可以建立支援 Dataproc 的 Vertex AI Workbench 執行個體,或在 VM 上安裝 Dataproc JupyterLab 外掛程式,為多位使用者提供筆記本服務。
設定 Jupyter。您可以藉由配置 dataproc:jupyter
叢集屬性來設定 Jupyter。為避免未加密的筆記本伺服器 API 成為遠端執行程式碼的漏洞,系統預設將 dataproc:jupyter.listen.all.interfaces 叢集屬性設定為 false,在啟用元件閘道時,會將連線限制於 localhost (127.0.0.1) (安裝 Jupyter 元件時必須啟用元件閘道)。
Jupyter 筆記本提供了 Python 核心,用來執行 Spark 程式碼和 PySpark 核心。根據預設,筆記本會儲存在 Cloud Storage 中,位於叢集建立期間由使用者指定或系統自動建立的 Cloud Dataproc 暫存 bucket。在建立叢集時,可以使用 dataproc:jupyter.notebook.gcs.dir 叢集屬性來變更位置。
處理資料檔案。Jupyter 筆記本可以用來處理已上傳至 Cloud Storage 的資料檔案。 由於 Cloud Storage 連接器已經預先安裝在 Dataproc 叢集上,因此您可以直接從筆記本中參考檔案。以下範例說明如何存取 Cloud Storage 中的 CSV 檔案:
df = spark.read.csv("gs://bucket/path/file.csv")
df.show()
如需 PySpark 範例,請參閱「一般載入和儲存功能」。
安裝 Jupyter
請在建立 Dataproc 叢集時安裝元件。Jupyter 元件需要啟用 Dataproc 元件閘道。
控制台
- 啟用元件。
- 在 Google Cloud 控制台中,開啟 Dataproc 的「Create a cluster」(建立叢集) 頁面。系統預設選取「Set up cluster」(設定叢集) 面板。
- 在「Components」(元件) 部分執行下列操作:
- 在「Optional components」(選用元件) 下方選取「Jupyter」元件。
- 在「Component Gateway」(元件閘道) 下方,選取「Enable component gateway」(啟用元件閘道) (請參閱「查看及存取元件閘道網址」)。
gcloud CLI
如要建立包含 Jupyter 元件的 Dataproc 叢集,請使用 gcloud dataproc clusters create cluster-name 指令並加上 --optional-components 旗標。
最新預設映像檔版本範例
以下範例將 Jupyter 元件安裝於使用最新預設映像檔版本的叢集上。
gcloud dataproc clusters create cluster-name \ --optional-components=JUPYTER \ --region=region \ --enable-component-gateway \ ... other flags
REST API
Jupyter 元件可以透過 Dataproc API,在 clusters.create 要求中使用 SoftwareConfig.Component 進行安裝。
- 請在
clusters.create要求中將 EndpointConfig.enableHttpPortAccess 屬性設為true,以便使用元件閘道連線到 Jupyter Notebook 網頁版使用者介面。
開啟 Jupyter 和 JupyterLab 使用者介面
按一下Google Cloud 控制台的「Component Gateway」(元件閘道) 連結,即可在本機瀏覽器開啟叢集主要節點所執行的 Jupyter Notebook 或 JupyterLab 使用者介面。
選取「GCS」或「Local Disk」(本機磁碟),即可在任一位置建立新的 Jupyter Notebook。
將 GPU 連接至主要節點和 worker 節點
使用 Jupyter Notebook 時,可以將 GPU 新增至叢集的主要節點和 worker 節點,以便:
- 在 Spark 中預先處理資料,再將 DataFrame 收集到主要執行個體上,並執行 TensorFlow
- 使用 Spark 調度管理 TensorFlow 的平行運作
- 執行 Tensorflow-on-YARN
- 應用於其他需要 GPU 的機器學習情境