Überspringen zum Hauptinhalt

AWS-Lösungsportfolio

Anleitung für SQL-basierte ETL mit Apache Spark in Amazon EKS

Effiziente Datenworkflows und schnellere Einblicke mit einer skalierbaren Extract, Transform, Load (ETL)-Lösung auf Unternehmensebene erschließen

Übersicht

Diese Anleitung hilft dabei, die Lücke zwischen den Anforderungen an den Datenverbrauch und den Datenverarbeitungsaktivitäten auf niedriger Ebene zu schließen, die nach gängigen ETL-Praktiken durchgeführt werden. Für Unternehmen, die mit SQL-basierten Datenmanagementsystemen arbeiten, kann die Anpassung an moderne Datentechnikpraktiken den Fortschritt bei der Nutzung aussagekräftiger Erkenntnisse aus ihren Daten verlangsamen. Diese Anleitung bietet ein qualitätsbewusstes Design zur Steigerung der Produktivität von Datenprozessen mithilfe des Open-Source-Datenframeworks Arc für einen benutzerzentrierten ETL-Ansatz. Die Anleitung beschleunigt die Interaktion mit ETL-Praktiken, fördert die Einfachheit und erhöht den Abstraktionsgrad, um ETL-Aktivitäten sowohl im Batch- als auch im Streaming-Modus zu vereinheitlichen.

Wir bieten auch Optionen für ein optimales Design unter Verwendung effizienter Datenverarbeitungsinstances (wie AWS-Graviton-Prozessoren), mit denen Sie die Leistung und die Kosten der skalierbaren Ausführung von ETL-Aufträgen in Amazon EKS optimieren können.

Funktionsweise

Dieses Architekturdiagramm beschleunigt die Datenverarbeitung mit Apache Spark auf Amazon EKS.

Well-Architected-Säulen

Das obige Architekturdiagramm ist ein Beispiel für eine Lösung, die unter Berücksichtigung der bewährten Methoden von Well-Architected erstellt wurde. Um eine vollständige Well-Architected-Lösung zu erhalten, sollten Sie so viele bewährte Methoden von Well-Architected wie möglich befolgen.

Innerhalb der Amazon EKS-Cluster agieren Amazon Elastic Compute Cloud (Amazon EC2) -Instances (X86_64 CPU, Graviton ARM64) als Rechenknoten, auf denen Guidance-Workloads ausgeführt werden. Spark-Jobs werden auf elastisch bereitgestellten Amazon EC2 Spot-Instances ausgeführt, die auf den Workload-Anforderungen basieren. CodeBuild und CodePipeline automatisieren den GitOps-Prozess, indem sie Container-Images aus Git-Code-Updates erstellen und sie in die private Amazon ECR-Registry übertragen. Argo Workflows plant ETL-Aufträge auf Amazon EKS, ruft automatisch das Arc-Docker-Image aus Amazon ECR ab, lädt ETL-Assets aus dem Artefakt-S3-Bucket herunter und sendet Anwendungsprotokolle an CloudWatch. Diese automatisierte Bereitstellung und Ausführung von Daten-ETL-Aufträgen minimiert den betrieblichen Aufwand und verbessert die Produktivität. Darüber hinaus trägt die CI/CD-Pipeline mithilfe von CodeBuild und CodePipeline dazu bei, eine kontinuierliche Verbesserung und Weiterentwicklung sicherzustellen und gleichzeitig das Arc Docker-Image von Guidance sicher in Amazon ECR zu speichern.

Whitepaper zur betrieblichen Exzellenz lesen

Die Amazon EKS-Cluster-Ressourcen werden in einer Amazon VPC bereitgestellt und bieten eine logische Netzwerkisolierung vom öffentlichen Internet. Amazon VPC unterstützt Sicherheitsfunktionen wie VPC-Endpunkte (Aufrechterhaltung des Datenverkehrs innerhalb des AWS-Netzwerks), Sicherheitsgruppen, Network Access Control Lists (ACLs) sowie AWS Identity and Access Management (IAM) -Rollen und -Richtlinien zur Steuerung des eingehenden und ausgehenden Datenverkehrs und der Autorisierung. Die Amazon-ECR-Image-Registry bietet Sicherheits-Features auf Containerebene, wie z. B. das Scannen von Schwachstellen. Amazon ECR und Amazon EKS folgen den Registrierungs- und Kubernetes-API-Standards der Open Container Initiative (OCI) und beinhalten strenge Sicherheitsprotokolle. IAM bietet Zugriffskontrolle für Amazon S3-Anwendungsdaten, während der AWS Key Management Service (AWS KMS) ruhende Daten auf Amazon S3 verschlüsselt. IAM Roles for Service Accounts (IRSA) auf Amazon EKS-Clustern ermöglicht eine detaillierte Zugriffskontrolle für Pods, erzwingt eine rollenbasierte Zugriffskontrolle und begrenzt den unbefugten Amazon S3-Datenzugriff. Secrets Manager speichert und verwaltet Anmeldeinformationen sicher. CloudFront bietet SSL-kodierte sichere Einstiegspunkte für die Webtools Jupyter und Argo Workflows.

Whitepaper zur Sicherheit lesen

Amazon EKS ermöglicht hochverfügbare Topologien, indem die Steuerungs- und Datenverarbeitungspläne von Kubernetes in mehreren Availability Zones (AZs) bereitgestellt werden. Dies trägt dazu bei, die kontinuierliche Verfügbarkeit von Datenanwendungen sicherzustellen — selbst wenn es bei einer AZ zu einer Unterbrechung kommt —, was zu einer zuverlässigen Multi-AZ-EC2-Instance-Bereitstellung auf Amazon EKS führt. Für die Datenspeicherung bietet Amazon S3 eine hohe Beständigkeit und Verfügbarkeit und repliziert Datenobjekte automatisch über mehrere AZs innerhalb einer Region. Darüber hinaus hostet Amazon ECR Docker-Images in einer hochverfügbaren und skalierbaren Architektur, die zuverlässig die containerbasierte Anwendungsbereitstellung und Inkremente unterstützt. Amazon S3, Amazon EKS und Amazon ECR sind vollständig verwaltete Services, die für hohe Service Level Agreements (SLAs) mit reduzierten Betriebskosten konzipiert sind. Sie ermöglichen die Bereitstellung geschäftskritischer Anwendungen, um Hochverfügbarkeitsanforderungen zu erfüllen.

Whitepaper zur Zuverlässigkeit lesen

Die Amazon-EC2-Datenverarbeitungsknoten des Amazon-EKS-Clusters können basierend auf dem Anwendungs-Workload dynamisch hoch- und herunterskaliert werden. Graviton-basierte EC2-Instances bieten eine höhere Leistungseffizienz durch speziell entwickelte ARM-basierte Prozessoren, optimierte Hardware und architektonische Verbesserungen. Ein entkoppeltes Datenverarbeitungsspeichermuster (mit Eingabe- und Ausgabedaten, die in Amazon S3 gespeichert sind) verbessert die Effizienz der dynamischen Datenverarbeitungsskalierung. Data Catalog optimiert das Metadatenmanagement und lässt sich nahtlos in Athena integrieren, um das Metadatenmanagement zu vereinfachen und die Abfrageleistung zu verbessern. Der Datenkatalog automatisiert das Crawling und Pflegen technischer Metadaten für eine effiziente Datenverarbeitung und -abfrage. Athena bietet schnelle Abfragen von Amazon-S3-Daten, ohne sie zu verschieben, wodurch die Effizienz des Analysen-Workflows weiter verbessert wird.

Whitepaper zur Leistung und Effizienz lesen

Amazon ECR ist ein verwalteter Service zur Sicherung und Unterstützung von Container-Anwendungen mit einer festen monatlichen Gebühr für das Speichern und Bereitstellen von Container-Images. Amazon EKS-Cluster-Rechenknoten können je nach Spark-Workloads hoch- und herunterskaliert werden und bieten kosteneffiziente Graviton - und Spot-Instance-Typen. Data Catalog bietet ein serverloses, vollständig verwaltetes Metadaten-Repository, wodurch die Einrichtung und Wartung einer lang laufenden Metadatendatenbank entfällt und der Betriebsaufwand und die Kosten reduziert werden. CodeBuild und CodePipeline automatisieren die Erstellung und die Bereitstellung des Docker-Images des Arc-ETL-Frameworks in einer Serverless-Umgebung. Dadurch entfällt die Notwendigkeit, Buildserver bereitzustellen und zu verwalten. Außerdem werden die Wartungskosten für die Infrastruktur reduziert.

Whitepaper zur Kostenoptimierung lesen

In dieser Anleitung wird ein Amazon EKS-Cluster mit effizienten Rechenarten ausgeführt, die auf Graviton-Prozessoren basieren. Amazon ECR macht benutzerdefinierte Hardware oder physische Serververwaltung überflüssig. Der Datenkatalog und Athena sind Serverless-Services, die die Energie- und Umweltbelastung weiter reduzieren. Durch die Optimierung der Amazon-EKS-Datenverarbeitungsschicht für umfangreiche Apache-Spark-Workloads werden die Umweltauswirkungen von Analyse-Workloads minimiert. Sie haben die Flexibilität, je nach Leistungsanforderungen und Ihren Nachhaltigkeitsprioritäten ARM-basierte Prozessoren auszuwählen.

Whitepaper zur Nachhaltigkeit lesen

Implementierungsressourcen

Der Beispielcode dient als Ausgangspunkt. Er ist in der Branche erprobt, präskriptiv, aber nicht endgültig, und ein Blick unter die Haube, der Ihnen den Einstieg erleichtert.
Implementierungsleitfaden öffnen

Haftungsausschluss

Der Beispielcode, die Softwarebibliotheken, die Befehlszeilentools, die Machbarkeitsnachweise, die Vorlagen oder andere zugehörige Technologien (einschließlich derjenigen, die von unseren Mitarbeitern bereitgestellt werden) werden Ihnen als AWS-Inhalte im Rahmen der AWS-Kundenvereinbarung oder der entsprechenden schriftlichen Vereinbarung zwischen Ihnen und AWS (je nachdem, was zutrifft) zur Verfügung gestellt. Sie sollten diese AWS-Inhalte nicht in Ihren Produktionskonten oder für Produktions- oder andere kritische Daten verwenden. Sie sind verantwortlich für das Testen, Sichern und Optimieren des AWS-Inhalts, z. B. des Beispielcodes, für die Verwendung in der Produktion auf der Grundlage Ihrer spezifischen Qualitätskontrollverfahren und -standards. Bei der Bereitstellung von AWS-Inhalten können AWS-Gebühren für die Erstellung oder Nutzung von kostenpflichtigen AWS-Ressourcen anfallen, z. B. für den Betrieb von Amazon-EC2-Instances oder die Nutzung von Amazon-S3-Speicher.

Haben Sie die gewünschten Informationen gefunden?

Ihr Beitrag hilft uns, die Qualität der Inhalte auf unseren Seiten zu verbessern.