啟用 Dataproc 叢集快取功能後,叢集會快取 Spark 工作經常存取的 Cloud Storage 資料。
優點
- 提升效能:快取可減少從儲存空間擷取資料所需的時間,進而提升工作效能。
- 降低儲存空間成本:由於熱門資料會在本機磁碟上快取,因此儲存空間會減少 API 呼叫次數,以便擷取資料。
- Spark 工作適用性:在叢集中啟用叢集快取功能後,無論是提交至 Dataproc 服務,還是在叢集中獨立執行,這項功能都會套用至在叢集中執行的所有 Spark 工作。
限制與需求
- 快取功能僅適用於 Dataproc Spark 工作。
- 只有 Cloud Storage 資料會快取。
- 快取功能僅適用於符合下列條件的叢集:
- 叢集包含一個主要執行個體和
n
工作站 (不支援高可用性 (HA) 和單一節點叢集)。 - 這項功能適用於 Dataproc on Compute Engine 的映像檔版本
2.0.72+
、2.1.20+
和2.2.0+
。 - 每個叢集節點都必須透過 NVMe (Non-Volatile Memory Express) 介面連接本機 SSD (不支援持久磁碟 (PD))。資料只會快取至 NVME 本機 SSD。
- 叢集會使用預設 VM 服務帳戶進行驗證。不支援自訂 VM 服務帳戶。
- 叢集包含一個主要執行個體和
啟用叢集快取
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Dataproc API 建立 Dataproc 叢集,並啟用叢集快取功能。
Google Cloud 控制台
- 在 Google Cloud 控制台中開啟 Dataproc 的「Create a cluster on Compute Engine」(在 Compute Engine 上建立叢集) 頁面。
- 選取「設定叢集」面板。在「Spark 效能強化」部分,選取「啟用 Google Cloud Storage 快取」。
- 在叢集建立面板中確認並指定叢集詳細資料後,請按一下「建立」。
gcloud CLI
在本機的終端機視窗或 Cloud Shell 中,使用 dataproc:dataproc.cluster.caching.enabled=true
叢集屬性執行 gcloud dataproc clusters create 指令。
範例:
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --properties dataproc:dataproc.cluster.caching.enabled=true \ --num-master-local-ssds=2 \ --master-local-ssd-interface=NVME \ --num-worker-local-ssds=2 \ --worker-local-ssd-interface=NVME \ other args ...
REST API
設定 SoftwareConfig.properties,將 "dataproc:dataproc.cluster.caching.enabled": "true"
叢集屬性納入 clusters.create 要求。