Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwenden von Auto Scaling für AWS Glue

Fokusmodus
Verwenden von Auto Scaling für AWS Glue - AWS Glue

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Auto Scaling ist verfügbar für Ihre AWS Glue ETL, interaktive Sitzungen und Streaming-Jobs mit AWS Glue Version 3.0 oder höher.

Das Aktivieren von Auto Scaling bietet die folgenden Vorteile:

  • AWS Glue fügt je nach Parallelität in jeder Phase oder jedem Mikrobatch der Jobausführung automatisch Worker zum Cluster hinzu und entfernt sie aus dem Cluster.

  • Auf diese Weise müssen Sie nicht mehr experimentieren und entscheiden, wie viele Mitarbeiter Sie Ihrem Projekt zuweisen möchten AWS Glue ETL-Jobs.

  • Bei der angegebenen maximalen Anzahl von Arbeitern AWS Glue wählt die Ressourcen in der richtigen Größe für die Arbeitslast aus.

  • Sie können sehen, wie sich die Größe des Clusters während der Ausführung des Jobs ändert, indem Sie sich die CloudWatch Metriken auf der Detailseite des Jobs ansehen AWS Glue Studio.

Auto Scaling für AWS Glue ETL- und Streaming-Jobs ermöglichen das On-Demand-Scaling Out und Scaling-In der Rechenressourcen Ihres AWS Glue Jobs. Beim Hochskalieren auf Abruf können Sie nur die erforderlichen Rechenressourcen zunächst beim Start des Auftrags zuweisen und auch die erforderlichen Ressourcen je nach Bedarf während des Auftrags bereitstellen.

Auto Scaling unterstützt auch die dynamische Skalierung von AWS Glue Arbeitsressourcen im Laufe eines Jobs. Wenn während einer Auftragsausführung mehr Ausführer von Ihrer Spark-Anwendung angefordert werden, werden dem Cluster mehr Worker hinzugefügt. Wenn der Ausführer ohne aktive Berechnungsaufgaben im Leerlauf verblieben ist, werden der Ausführer und der zugehörige Worker entfernt.

Zu den häufigsten Szenarien, in denen Auto Scaling bei den Kosten und der Auslastung Ihrer Spark-Anwendungen hilft, gehören:

  • ein Spark-Treiber, der eine große Anzahl von Dateien in Amazon S3 auflistet oder einen Ladevorgang durchführt, während die Executoren inaktiv sind

  • Spark-Stages laufen aufgrund von zu viel Provisioning mit nur wenigen Executoren

  • Datenverzerrungen oder ungleichmäßiger Rechenbedarf in den Spark-Phasen

Voraussetzungen

Auto Scaling ist nur verfügbar für AWS Glue Version 3.0 oder höher. Um Auto Scaling zu verwenden, können Sie dem Migrationsleitfaden folgen, um Ihre vorhandenen Jobs zu migrieren AWS Glue Version 3.0 oder höher oder erstellen Sie neue Jobs mit AWS Glue Version 3.0 oder höher.

Auto Scaling ist verfügbar für AWS Glue Jobs mit den Workertypen G.1X G.2X G.4XG.8X,,, oder G.025X (nur für Streaming-Jobs). Standard DPUs werden nicht unterstützt.

Auto Scaling aktivieren in AWS Glue Studio

Auf der Registerkarte Jobdetails in AWS Glue Studio, wählen Sie den Typ als Spark oder Spark Streaming und die Glue-Version als Glue 3.0 oder später. Anschließend wird unter dem Worker-Typ ein Kontrollkästchen angezeigt.

  • Wählen Sie die Option Automatisches Skalieren der Worker-Anzahl aus.

  • Legen Sie die Maximale Worker-Anzahl fest, um die maximale Anzahl von Workern zu definieren, die für die Auftragsausführung ausgegeben werden können.

Auto Scaling aktivieren und konfigurieren in AWS Glue Studio.

Auto Scaling mit der AWS CLI oder dem SDK aktivieren

Um Auto Scaling über die AWS CLI für Ihren Joblauf zu aktivieren, führen Sie start-job-run ihn mit der folgenden Konfiguration aus:

{ "JobName": "<your job name>", "Arguments": { "--enable-auto-scaling": "true" }, "WorkerType": "G.2X", // G.1X and G.2X are allowed for Auto Scaling Jobs "NumberOfWorkers": 20, // represents Maximum number of workers ...other job run configurations... }

Wenn die ETL-Auftragsausführung abgeschlossen ist, können Sie auch get-job-run aufrufen, um die tatsächliche Ressourcennutzung der Ausführung in DPU-Sekunden zu prüfen. Hinweis: Das neue Feld DPUSecondswird nur für Ihre Batch-Jobs auf AWS Glue Version 4.0 oder höher angezeigt, die mit Auto Scaling aktiviert sind. Dieses Feld wird für Streaming-Aufträge nicht unterstützt.

$ aws glue get-job-run --job-name your-job-name --run-id jr_xx --endpoint https://glue.us-east-1.amazonaws.com --region us-east-1 { "JobRun": { ... "GlueVersion": "3.0", "DPUSeconds": 386.0 } }

Sie können Auftragsausführungen mit Auto Scaling auch über das AWS Glue -SDK konfigurieren. Die Konfiguration ist dieselbe.

Auto Scaling mit interaktiven Sitzungen aktivieren

Informationen zur Aktivierung von Auto Scaling beim Erstellen von AWS Glue Jobs mit interaktiven Sitzungen finden Sie unter AWS Glue Interaktive Sitzungen konfigurieren.

Tipps und Überlegungen

Tipps und Überlegungen zur Feinabstimmung von AWS Glue Auto Scaling:

  • Falls Sie keine Vorstellung vom Anfangswert der maximalen Anzahl von Arbeitern haben, können Sie mit der groben Berechnung beginnen, die in Estimate AWS Glue DPU erklärt wird. Sie sollten für Daten mit sehr geringem Datenvolumen keinen extrem hohen Wert für die maximale Anzahl von Mitarbeitern festlegen.

  • AWS Glue Auto Scaling konfiguriert spark.sql.shuffle.partitions und spark.default.parallelism basiert auf der maximalen Anzahl von DPU (berechnet mit der maximalen Anzahl von Arbeitern und dem Workertyp), die für den Job konfiguriert sind. Falls Sie bei diesen Konfigurationen den festen Wert bevorzugen, können Sie diese Parameter mit den folgenden Jobparametern überschreiben:

    • Schlüssel: --conf

    • Value (Wert): spark.sql.shuffle.partitions=200 --conf spark.default.parallelism=200

  • Bei Streaming-Jobs erfolgt standardmäßig AWS Glue keine auto Skalierung innerhalb von Mikrobatches und es sind mehrere Mikrobatches erforderlich, um die auto Skalierung zu starten. Falls Sie Auto Scaling innerhalb von Mikrobatches aktivieren möchten, geben Sie --auto-scale-within-microbatch an. Weitere Informationen finden Sie unter Job-Parameter-Referenz.

Überwachung von Auto Scaling mit CloudWatch Amazon-Metriken

Die CloudWatch Executor-Metriken sind für Sie verfügbar AWS Glue Jobs 3.0 oder höher, wenn Sie Auto Scaling aktivieren. Die Metriken können verwendet werden, um die Nachfrage und die optimierte Nutzung von Ausführern in ihren Spark-Anwendungen, die mit Auto Scaling aktiviert sind, zu überwachen. Weitere Informationen finden Sie unter Überwachen AWS Glue Verwendung von CloudWatch Amazon-Metriken.

Sie können auch Messwerte zur AWS Glue Beobachtbarkeit verwenden, um Einblicke in die Ressourcennutzung zu erhalten. Durch die Überwachung können Sie beispielsweise überwachenglue.driver.workerUtilization, wie viele Ressourcen mit und ohne Auto Scaling tatsächlich genutzt wurden. Ein anderes Beispiel: Durch die Überwachung von glue.driver.skewness.job und können Sie sehenglue.driver.skewness.stage, wie die Daten verzerrt sind. Diese Erkenntnisse helfen Ihnen bei der Entscheidung, Auto Scaling zu aktivieren und die Konfigurationen zu optimieren. Weitere Informationen finden Sie unter Überwachung mitÜberwachen mit AWS Glue Beobachtbarkeitsmetriken.

  • glue.driver. ExecutorAllocationManager. Testamentsvollstrecker. numberAllExecutors

  • Klebertreiber. ExecutorAllocationManager. Testamentsvollstrecker. numberMaxNeededTestamentsvollstrecker

Weitere Informationen zu diesen Metriken finden Sie unter Überwachung für die DPU-Kapazitätsplanung.

Anmerkung

CloudWatch Executor-Metriken sind für interaktive Sitzungen nicht verfügbar.

Überwachung von Auto Scaling mit CloudWatch Amazon-Metriken.

Überwachung von Auto Scaling mit Amazon CloudWatch Logs

Wenn Sie interaktive Sitzungen verwenden, können Sie die Anzahl der Executors überwachen, indem Sie kontinuierlich Amazon CloudWatch Logs aktivieren und in den Protokollen nach „Executor“ suchen, oder indem Sie die Spark-Benutzeroberfläche verwenden. Verwenden Sie dazu die %%configure Magie, um die kontinuierliche Protokollierung zusammen mit zu aktivieren. enable auto scaling

%%configure{ "--enable-continuous-cloudwatch-log": "true", "--enable-auto-scaling": "true" }

Suchen Sie in den Amazon CloudWatch Logs-Ereignissen in den Protokollen nach „Executor“:

Überwachung von Auto Scaling mit CloudWatch Amazon-Metriken.

Überwachen von Auto Scaling mit der Spark-Benutzeroberfläche

Wenn Auto Scaling aktiviert ist, können Sie auch überwachen, ob Executoren hinzugefügt oder entfernt werden, und zwar mit dynamischem Hoch- und Herunterskalieren, je nach Bedarf in Ihrem AWS Glue Jobs mit der Glue Spark-Benutzeroberfläche. Weitere Informationen finden Sie unter Aktivierung der Apache Spark-Weboberfläche für AWS Glue jobs.

Wenn Sie interaktive Sitzungen von Jupyter Notebook aus verwenden, können Sie die folgende Magie ausführen, um Auto Scaling zusammen mit der Spark-Benutzeroberfläche zu aktivieren:

%%configure{ "--enable-auto-scaling": "true", "--enable-continuous-cloudwatch-log": "true" }
Überwachen von Auto Scaling mit der Spark-Benutzeroberfläche.

Überwachen der DPU-Nutzung bei der Auto-Scaling-Auftragsausführung

Sie können die Ansicht AWS Glue Studio -Auftragsausführung verwenden, um die DPU-Nutzung Ihrer Auto-Scaling-Aufträge zu überprüfen.

  1. Wählen Sie im Navigationsbereich die AWS Glue Studio Option Überwachung aus. Die Seite „Monitoring“ (Überwachung) wird angezeigt.

  2. Scrollen Sie nach unten zur Tabelle „Job runs“ (Auftragsausführungen).

  3. Navigieren Sie zur gewünschten Auftragsausführung und scrollen Sie zur Spalte „DPU hours“ (DPU-Stunden), um die Nutzungswerte für die entsprechende Ausführung zu prüfen.

Einschränkungen

AWS Glue Streaming Auto Scaling unterstützt derzeit keinen DataFrame Streaming-Join mit einer außerhalb von DataFrame erstellten StatikForEachBatch. Eine innerhalb DataFrame von erstellte Statik ForEachBatch funktioniert erwartungsgemäß.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.