啟用 Managed Service for Apache Spark 叢集快取後,叢集會快取 Spark 工作經常存取的 Cloud Storage 資料。
優點
- 提升效能:快取可減少從儲存空間擷取資料所花費的時間,進而提升工作效能。
- 降低儲存空間費用:由於熱資料會快取在本機磁碟上,因此擷取資料時,傳送至儲存空間的 API 呼叫次數會減少。
- Spark 工作適用性:在叢集上啟用叢集快取後,無論是提交至 Managed Service for Apache Spark 服務,還是獨立在叢集上執行,叢集上執行的所有 Spark 工作都會套用快取。
限制與需求
- 快取僅適用於 Managed Service for Apache Spark 工作。
- 系統只會快取 Cloud Storage 資料。
- 快取僅適用於符合下列條件的叢集:
- 叢集有一個主節點和
n個 worker (不支援高可用性 (HA) 和單一節點叢集)。 - 這項功能適用於 Managed Service for Apache Spark 映像檔版本
2.0.72+、2.1.20+和2.2.0+。 - 每個叢集節點都必須連接本機 SSD,並使用 NVME (非揮發性記憶體高速) 介面 (不支援 Persistent Disk (PD))。資料只會快取在 NVME 本機 SSD 上。
- 叢集會使用預設 VM 服務帳戶進行驗證。不支援自訂 VM 服務帳戶。
- 叢集有一個主節點和
啟用叢集快取
使用 Google Cloud 控制台、Google Cloud CLI 或 Dataproc API 建立 Managed Service for Apache Spark 叢集時,可以啟用叢集快取。
Google Cloud 控制台
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 要求的一部分。