Wenn Sie das Caching von Dataproc-Clustern aktivieren, werden im Cluster Cloud Storage-Daten im Cache gespeichert, auf die häufig von Ihren Spark-Jobs zugegriffen wird.
Vorteile
- Verbesserte Leistung: Caching kann die Jobleistung verbessern, da weniger Zeit für das Abrufen von Daten aus dem Speicher benötigt wird.
- Geringere Speicherkosten:Da häufig verwendete Daten auf dem lokalen Laufwerk zwischengespeichert werden, erfolgen weniger API-Aufrufe zum Abrufen von Daten.
Beschränkungen und Anforderungen
- Caching gilt nur für Dataproc Spark-Jobs.
- Nur Cloud Storage-Daten werden im Cache gespeichert.
- Caching gilt nur für Cluster, die die folgenden Anforderungen erfüllen:
- Der Cluster hat einen Master und
n
-Worker. Cluster mit Hochverfügbarkeit und einzelnem Knoten werden nicht unterstützt. - Dieses Feature ist in Dataproc auf Compute Engine-Image-Versionen
2.0.72+ or 2.1.20+
verfügbar. - An jeden Clusterknoten müssen lokale SSDs über die NVME-Schnittstelle (Non-Volatile Memory Express) angehängt sein (Persistent Disks (PDs) werden nicht unterstützt). Daten werden nur auf lokalen NVME-SSDs im Cache gespeichert.
- Der Cluster verwendet das VM-Standarddienstkonto zur Authentifizierung. Benutzerdefinierte VM-Dienstkonten werden nicht unterstützt.
- Der Cluster hat einen Master und
Cluster-Caching aktivieren
Sie können das Cluster-Caching aktivieren, wenn Sie einen Dataproc-Cluster über die Google Cloud CLI oder Dataproc API erstellen.
Console
Derzeit wird das Aktivieren des Cluster-Caching über die Google Cloud Console nicht unterstützt.
gcloud-CLI
Führen Sie den Befehl gcloud dataproc clusters create lokal in einem Terminalfenster oder in Cloud Shell mit dem Clusterattribut dataproc:dataproc.cluster.caching=true
aus.
Beispiel:
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
Legen Sie SoftwareConfig.properties so fest, dass das Clusterattribut "dataproc:dataproc.cluster.caching": "true"
als Teil einer clusters.create-Anfrage aufgenommen wird.