Managed Service for Apache Spark umfasst jetzt die früheren Produktoptionen „Managed Service for Apache Spark on Compute Engine“ (Clusterbereitstellung) und „Managed Service for Apache Spark“ (serverlose Bereitstellung).
Sowohl serverlose als auch Cluster-Bereitstellungen bieten eine verwaltete, hochskalierbare, produktionsreife und sichere Spark-Umgebung, die OSS-kompatibel ist und Datenformate vollständig unterstützt. Sie unterscheiden sich jedoch darin, wie sie die zugrunde liegende Infrastruktur verwalten und Ressourcen abrechnen. Sehen Sie sich die folgenden Funktionen und Anwendungsfälle an, um eine Spark-Lösung auszuwählen.
Managed Service for Apache Spark-Bereitstellungen vergleichen
In der folgenden Tabelle sind die wichtigsten Unterschiede zwischen Managed Service for Apache Spark-Cluster- und serverlosen Bereitstellungen 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 | 50er-Jahre | 120 Sek. |
| 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 |
Bestes Managed Service for Apache Spark-Deployment 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 Managed Service for Apache Spark-Bereitstellung (Cluster oder serverlos) für Ihre Spark-Arbeitslasten auswählen können.
Übersicht
Managed Service for Apache Spark-Bereitstellungen unterscheiden sich im Grad der Kontrolle, der Infrastrukturverwaltung und dem Abrechnungsmodus, die jeweils angeboten werden.
- Serverlose Bereitstellung: Managed Service for Apache Spark bietet Spark-Jobs als Dienst und führt Spark auf einer vollständig verwalteten Google Cloud-Infrastruktur aus. Sie zahlen für die Joblaufzeit.
- Clusterbereitstellung: Bietet Spark-Cluster-as-a-Service, wobei Managed Spark auf Ihrer Compute Engine-Infrastruktur ausgeführt wird. Sie bezahlen 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 Infrastrukturverwaltung |
| Cluster | Langlebige, gemeinsam genutzte Umgebungen Arbeitslasten, bei denen eine präzise Steuerung der Infrastruktur notwendig ist 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 Kontrolle über die Infrastruktur, Fokus auf das Senden von Code und das Angeben von Spark-Parametern. | Mehr Kontrolle über Clusterkonfiguration, Maschinentypen und Software. Möglichkeit, Spot-VMs zu verwenden und Reservierungen sowie 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 übernimmt die Verwaltung, Skalierung und Bereitstellung der Infrastruktur, was ein NoOps-Modell ermöglicht. Gemini Cloud Assist erleichtert die Fehlerbehebung, während die serverlose automatische Abstimmung für eine optimale Leistung sorgt. |
Höherer Aufwand, der Clusterverwaltung, Skalierung und Wartung erfordert. |
| Effizienzmodell | Kein Rechenaufwand im Leerlauf: Rechenressourcen werden nur zugewiesen, wenn der Job ausgeführt wird. Keine Start- und Shutdown-Kosten. Unterstützung für freigegebene interaktive Sitzungen für mehr Effizienz. | Effizienzsteigerung durch die gemeinsame Nutzung von Clustern für verschiedene Jobs und Teams mit einem mandantenfähigen Modell. |
| Standorteinstellung | 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 Beendigung, 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 Beendigung, basierend auf der Anzahl der Knoten. Enthält die Lizenzgebühr für Managed Service for Apache Spark sowie die Infrastrukturkosten. |
| Rabatte für zugesicherte Nutzung | Ausgabenbasierte Rabatte für zugesicherte Nutzung in BigQuery gelten für Managed Service for Apache Spark-Jobs. | Compute Engine-CUDs gelten für die gesamte Ressourcennutzung. |
| Image- und Laufzeitsteuerung | Nutzer können Nebenversionen der Managed Service for Apache Spark-Laufzeit anpinnen. Untergeordnete Nebenversionen werden von Managed Service for Apache Spark verwaltet. | Nutzer können Neben- und Unternebenversionen von Managed Service for Apache Spark-Images anpinnen. |
| 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 |
Unterstützung früherer Versionen |
| Startzeit | 50er-Jahre | 120 Sek. |
Wann Sie sich für eine serverlose Bereitstellung entscheiden sollten
Die serverlose Bereitstellung von Managed Service for Apache Spark abstrahiert die komplexe Clusterverwaltung. So können Sie sich ganz auf Ihren Spark-Code konzentrieren. Daher eignet es sich hervorragend für die folgenden Datenverarbeitungsszenarien:
- Ad-hoc- und interaktive Analyse: Für Data Scientists und Analysten, die interaktive Abfragen und explorative Analysen mit Spark ausführen, bietet das serverlose Modell eine schnelle Möglichkeit, ohne sich auf die Infrastruktur konzentrieren zu müssen.
- 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 sporadischem oder unvorhersehbarem Bedarf: Bei unregelmäßigen Spark-Jobs oder Jobs mit schwankenden Ressourcenanforderungen können das serverlose Autoscaling und die nutzungsbasierte Preisgestaltung (Gebühren fallen für den Ressourcenverbrauch des Jobs an) die Kosten erheblich senken.
- Fokus auf Entwicklerproduktivität: Da keine Cluster bereitgestellt und verwaltet werden müssen, beschleunigt Managed Service for Apache Spark die Erstellung von Geschäftslogik, liefert schneller Erkenntnisse und steigert die Produktivität.
- Vereinfachte Abläufe und weniger Aufwand: Die Infrastrukturverwaltung von Managed Service for Apache Spark reduziert den Betriebsaufwand und die Kosten.
Wann sollte die Clusterbereitstellung ausgewählt werden?
Sie können die Clusterbereitstellung von Managed Service for Apache Spark verwenden, um Apache Spark und andere Open-Source-Frameworks zur Datenverarbeitung auszuführen. Sie bietet ein hohes Maß an Kontrolle und Flexibilität und ist in den folgenden Szenarien die bevorzugte Wahl:
- Vorhandene Hadoop- und Spark-Arbeitslasten migrieren: Unterstützt die Migration lokaler Hadoop- oder Spark-Cluster zu Google Cloud. Vorhandene Konfigurationen mit minimalen Codeänderungen replizieren, insbesondere bei Verwendung älterer Spark-Versionen.
- Umfassende Anpassung und Kontrolle: Sie können Cluster-Maschinentypen, Laufwerksgrößen und Netzwerkkonfigurationen anpassen. Diese Kontrolle ist entscheidend für die Leistungsoptimierung und die Optimierung der Ressourcennutzung für komplexe, lang laufende 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, die Hadoop-Ökosystemtools wie Hive, Pig oder Presto mit Ihren Spark-Arbeitslasten ausführen.
- Sicherheits-Compliance: Ermöglicht die Kontrolle über die Infrastruktur, um bestimmte Sicherheits- oder Compliance-Standards zu erfüllen, z. B. den Schutz von personenidentifizierbaren Informationen (PII) oder geschützten Gesundheitsdaten (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 unterstützen.
Zusammenfassung
Die Entscheidung, ob Sie Managed Service for Apache Spark-Cluster oder serverlose Bereitstellungen verwenden, hängt von Ihren Arbeitslastanforderungen, Ihren betrieblichen Präferenzen und dem gewünschten Maß an Kontrolle ab.
- Wählen Sie Managed Service for Apache Spark Serverless, wenn Sie eine nutzerfreundliche, kostengünstige Lösung für unregelmäßige Arbeitslasten suchen und die Entwicklung neuer Spark-Anwendungen beschleunigen möchten, indem Sie den Aufwand für die Infrastrukturverwaltung reduzieren.
- Wählen Sie Managed Service for Apache Spark-Cluster aus, wenn Sie maximale Kontrolle benötigen, Hadoop- oder Spark-Arbeitslasten migrieren müssen oder eine persistente, benutzerdefinierte, freigegebene 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 auszuschöpfen.