Managed Service for Apache Spark umfasst jetzt die bisherigen Produktoptionen „Dataproc on Compute Engine“ (Clusterbereitstellung) und die bisherigen „Google Cloud Serverless for Apache Spark“ (serverlose Bereitstellung).
Beide Optionen bieten eine verwaltete, hoch skalierbare, produktionsbereite und sichere Spark-Umgebung, die mit Open-Source-Software kompatibel ist und vollständige Unterstützung für Datenformate bietet. Sie unterscheiden sich jedoch in der Verwaltung der zugrunde liegenden Infrastruktur und der Abrechnung von Ressourcen. Sehen Sie sich die folgenden Funktionen und Anwendungsfälle an, um die richtige Spark-Lösung für Sie zu finden.
Weitere Informationen zu Managed Service for Apache Spark-Clusterbereitstellungen finden Sie unter Übersicht über die Clusterbereitstellung von Managed Service for Apache Spark.
Managed Service for Apache Spark-Bereitstellungen vergleichen
In der folgenden Tabelle sind die wichtigsten Unterschiede zwischen Cluster- und serverlosen Bereitstellungen von Managed Service for Apache Spark aufgeführt.
| Bereitstellung | Serverlos | Cluster |
|---|---|---|
| Verarbeitungs-Frameworks | Batcharbeitslasten und interaktive Sitzungen: Spark | Spark. Andere Open-Source-Frameworks wie Hive, Flink, Trino und Kafka |
| Serverlos | Ja | Nein |
| Startzeit | 50 Sekunden | 120 Sekunden |
| Infrastrukturkontrolle | Nein | Ja |
| Ressourcenverwaltung | Serverlos | YARN |
| GPU-Unterstützung | Ja | Ja |
| Interaktive Sitzungen | Ja | Nein |
| Benutzerdefinierte Container | Ja | Nein |
| VM-Zugriff (SSH) | Nein | Ja |
| Java-Versionen | Java 17, 21 | Java 17 und frühere Versionen |
Die beste Managed Service for Apache Spark-Bereitstellung auswählen
In diesem Abschnitt werden die wichtigsten Stärken und primären Anwendungsfälle von Managed Service for Apache Spark beschrieben, damit Sie die beste Bereitstellung – Cluster oder serverlos – für Ihre Spark-Arbeitslasten auswählen können.
Übersicht
Die Bereitstellungen von Managed Service for Apache Spark unterscheiden sich hinsichtlich des Kontrollgrads, der Infrastrukturverwaltung und des Abrechnungsmodus.
- Serverlose Bereitstellung:Managed Service for Apache Spark bietet Spark-Jobs-as-a-Service, wobei Spark auf einer vollständig verwalteten Google Cloud Infrastruktur ausgeführt wird. Sie zahlen für die Joblaufzeit.
- Clusterbereitstellung:Bietet Spark-Cluster-as-a-Service, wobei verwaltetes Spark auf Ihrer Compute Engine-Infrastruktur ausgeführt wird. Sie zahlen für die Clusterbetriebszeit.
Aufgrund dieser Unterschiede eignet sich jede Managed Service for Apache Spark-Bereitstellung am besten für die folgenden Anwendungsfälle:
| Bereitstellung | Anwendungsfälle |
|---|---|
| Serverlos | Verschiedene dedizierte Jobumgebungen Geplante Batcharbeitslasten Codeverwaltung hat Vorrang vor der Infrastrukturverwaltung |
| Cluster | Langlebige, gemeinsam genutzte Umgebungen Arbeitslasten, die eine präzise Steuerung der Infrastruktur erfordern Migration von Legacy-Hadoop- und Spark-Umgebungen |
Wichtige Unterschiede
| Funktion | Serverlose Bereitstellung | Clusterbereitstellung |
|---|---|---|
| Verwaltungsmodell | Vollständig verwaltete, serverlose Ausführungsumgebung. | Clusterbasiert. Sie stellen Cluster bereit und verwalten sie. |
| Steuerung und Anpassung | Weniger Infrastrukturkontrolle, wobei der Schwerpunkt auf dem Senden von Code und dem Festlegen von Spark-Parametern liegt. | Mehr Kontrolle über die Clusterkonfiguration, Maschinentypen und Software. Möglichkeit, Spot-VMs zu verwenden und Reservierungen und Compute Engine-Ressourcenkapazität wiederzuverwenden. Geeignet für Arbeitslasten, die von bestimmten VM-Formen wie CPU-Architekturen abhängig sind. |
| Anwendungsfälle | Ad-hoc-Abfragen, interaktive Analysen, neue Spark-Pipelines und Arbeitslasten mit unvorhersehbarem Ressourcenbedarf. | Langlebige, gemeinsam genutzte Cluster, Migration vorhandener Hadoop- und Spark-Arbeitslasten mit benutzerdefinierten Konfigurationen, Arbeitslasten, die eine umfassende Anpassung erfordern. |
| Operativer Aufwand | Geringerer Aufwand. Google Cloud Verwaltet die Infrastruktur, Skalierung und Bereitstellung und ermöglicht so ein NoOps Modell. Gemini Cloud Assist erleichtert die Fehlerbehebung, während die serverlose automatische Optimierung für optimale Leistung sorgt. |
Höherer Aufwand, der Clusterverwaltung, Skalierung und Wartung erfordert. |
| Effizienzmodell | Kein Leerlaufaufwand für Compute-Ressourcen: Die Zuweisung von Compute-Ressourcen erfolgt nur, wenn der Job ausgeführt wird. Keine Start- und Herunterfahrkosten. Gemeinsam genutzte interaktive Sitzungen werden unterstützt, um die Effizienz zu verbessern. | Effizienzsteigerung durch die gemeinsame Nutzung von Clustern für Jobs und Teams mit einem Modell für gemeinsame Nutzung und Multi-Tenancy. |
| Standortkontrolle | Managed Service for Apache Spark unterstützt regionale Arbeitslasten ohne zusätzliche Kosten, um zusätzliche Zuverlässigkeit und Verfügbarkeit zu bieten. | Cluster sind zonal. Die Zone kann bei der Clustererstellung automatisch ausgewählt werden. |
| Kosten | Die Abrechnung erfolgt nur für die Dauer der Ausführung des Spark-Jobs, ohne Start und Herunterfahren, basierend auf den verbrauchten Ressourcen. Die Abrechnung erfolgt nach verwendeten Datenrecheneinheiten (Data Compute Units, DCUs) und anderen Infrastrukturkosten. | Die Abrechnung erfolgt für die Zeit, in der der Cluster ausgeführt wird, einschließlich Start und Herunterfahren, basierend auf der Anzahl der Knoten. Beinhaltet die Lizenzgebühr für Managed Service for Apache Spark sowie die Infrastrukturkosten. |
| Rabatte für zugesicherte Nutzung (Committed Use Discounts, CUDs) | BigQuery-basierte CUDs für Ausgaben gelten für Managed Service for Apache Spark-Jobs. | Compute Engine-CUDs gelten für die gesamte Ressourcennutzung. |
| Image- und Laufzeitkontrolle | Nutzer können sich an Nebenversionen der Managed Service for Apache Spark-Laufzeit anheften. Untergeordnete Nebenversionen werden von Managed Service for Apache Spark verwaltet. | Nutzer können sich an Neben- und untergeordnete Nebenversionen von Managed Service for Apache Spark-Images anheften. |
| Ressourcenverwaltung | Serverlos | YARN |
| GPU-Unterstützung | Ja | Ja |
| Interaktive Sitzungen | Ja | Nein |
| Benutzerdefinierte Container | Ja | Nein |
| VM-Zugriff (SSH) | Nein | Ja |
| Java-Versionen | Java 17, 21 |
Frühere Versionen werden unterstützt |
| Startzeit | 50 Sekunden | 120 Sekunden |
Wann sollte die serverlose Bereitstellung gewählt werden?
Die serverlose Bereitstellung von Managed Service for Apache Spark abstrahiert die komplexe Clusterverwaltung. So können Sie sich ganz auf den Spark-Code konzentrieren. Daher ist sie eine ausgezeichnete Wahl für die folgenden Szenarien der Datenverarbeitung:
- Ad-hoc- und interaktive Analysen:Für Data Scientists und Analysten, die interaktive Abfragen ausführen und explorative Analysen mit Spark durchführen, bietet das serverlose Modell eine schnelle Möglichkeit, ohne sich auf die Infrastruktur zu konzentrieren.
- Spark-basierte Anwendungen und Pipelines:Wenn Sie neue Datenpipelines oder Anwendungen in Spark erstellen, kann Managed Service for Apache Spark die Entwicklung erheblich beschleunigen, da der operative Aufwand für die Clusterverwaltung entfällt.
- Arbeitslasten mit sporadischer oder unvorhersehbarer Nachfrage: Bei intermittierenden Spark-Jobs oder Jobs mit schwankenden Ressourcenanforderungen können serverloses Autoscaling und die nutzungsbasierte Abrechnung (Gebühren für den Ressourcenverbrauch des Jobs) die Kosten erheblich senken.
- Fokus auf die Produktivität von Entwicklern:Da die Bereitstellung und Verwaltung von Clustern entfällt, beschleunigt Managed Service for Apache Spark die Erstellung von Geschäftslogik, liefert schnellere Einblicke und steigert die Produktivität.
- Vereinfachte Abläufe und geringerer Aufwand:Die Infrastrukturverwaltung von Managed Service for Apache Spark reduziert den Betriebsaufwand und die Kosten.
Wann sollte die Clusterbereitstellung gewählt werden?
Mit der Clusterbereitstellung von Managed Service for Apache Spark können Sie Apache Spark und andere Open-Source-Frameworks für die Datenverarbeitung ausführen. Sie bietet ein hohes Maß an Kontrolle und Flexibilität und ist daher die bevorzugte Wahl in den folgenden Szenarien:
- Migration vorhandener Hadoop- und Spark-Arbeitslasten: Unterstützt die Migration von lokalen Hadoop- oder Spark-Clustern zu Google Cloud. Vorhandene Konfigurationen mit minimalen Codeänderungen replizieren, insbesondere bei Verwendung älterer Spark-Versionen.
- Umfassende Anpassung und Kontrolle:Sie können Maschinentypen, Laufwerksgrößen und Netzwerkkonfigurationen für Cluster anpassen. Dieses Maß an Kontrolle ist entscheidend für die Leistungsoptimierung und die Optimierung der Ressourcennutzung für komplexe, langlebige Jobs.
- Langlebige und persistente Cluster:Unterstützt kontinuierliche, langlebige Spark-Jobs und persistente Cluster für mehrere Teams und Projekte.
- Vielfältiges Open-Source-Ökosystem:Bietet eine einheitliche Umgebung zum Ausführen von Datenverarbeitungspipelines mit Hadoop-Ökosystemtools wie Hive, Pig oder Presto mit Ihren Spark-Arbeitslasten.
- Sicherheitskonformität:Ermöglicht die Kontrolle über die Infrastruktur, um bestimmte Sicherheits- oder Compliance-Standards zu erfüllen, z. B. den Schutz von personenbezogenen Daten (Personally Identifiable Information, PII) oder geschützten Gesundheitsdaten (Protected Health Information, PHI).
- Infrastrukturflexibilität:Bietet Spot-VMs und die Möglichkeit, Reservierungen und Compute Engine-Ressourcenkapazität wiederzuverwenden, um die Ressourcennutzung auszugleichen und Ihre Cloud-Infrastrukturstrategie zu erleichtern.
Zusammenfassung
Die Entscheidung, ob Sie die Cluster- oder die serverlose Bereitstellung von Managed Service for Apache Spark verwenden, hängt von Ihren Arbeitslastanforderungen, betrieblichen Präferenzen und dem bevorzugten Maß an Kontrolle ab.
- Wählen Sie die serverlose Bereitstellung von Managed Service for Apache Spark , wenn Sie eine einfache Bedienung, Kosteneffizienz für intermittierende Arbeitslasten und die Möglichkeit wünschen, die Entwicklung neuer Spark-Anwendungen zu beschleunigen, indem der Aufwand für die Infrastrukturverwaltung entfällt.
- Wählen Sie Managed Service for Apache Spark-Cluster, wenn Sie maximale Kontrolle benötigen, Hadoop- oder Spark-Arbeitslasten migrieren müssen oder eine persistente, angepasste, gemeinsam genutzte Clusterumgebung benötigen.
Nachdem Sie die in diesem Abschnitt aufgeführten Faktoren bewertet haben, wählen Sie die effizienteste und kostengünstigste Managed Service for Apache Spark-Bereitstellung aus, um Spark auszuführen und das volle Potenzial Ihrer Daten zu nutzen.