Managed Service for Apache Spark 叢集快取功能可將經常存取的 Cloud Storage 資料,儲存在叢集節點本機,加快工作執行速度。這個本機快取可縮短讀取延遲時間,並盡量減少重複工作負載的 Cloud Storage API 要求。
啟用 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 (Non-Volatile Memory Express) 介面連接 (不支援永久磁碟 (PD))。資料只會快取至 NVME 本機 SSD。
- 叢集會使用預設 VM 服務帳戶進行驗證。不支援自訂 VM 服務帳戶。
- 叢集有一個主要執行個體和
啟用叢集快取
使用 Google Cloud 控制台、Google Cloud CLI 或 Dataproc API 建立 Managed Service for Apache Spark 叢集時,可以啟用叢集快取功能。
Google Cloud 控制台
- 開啟 Google Cloud 控制台的「Create cluster」(建立叢集) 頁面。
- 按一下「其他設定」展開該部分。
- 編輯「自訂與其他」。
- 在開啟的面板中,按一下「叢集屬性」部分的「+ 新增屬性」。
- 在「Prefix」(前置字元) 清單中選取「dataproc」,然後新增鍵
dataproc.cluster.caching.enabled和值true。
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,在 clusters.create 要求中加入 "dataproc:dataproc.cluster.caching.enabled": "true"
叢集屬性。