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.

Verwenden von Auto Scaling für AWS Glue

Auto Scaling ist für AWS Glue-ETL- und Streaming-Aufträge ab AWS Glue Version 3.0 verfügbar.

Das Aktivieren von Auto Scaling bietet die folgenden Vorteile:

  • AWS Glue automatisches Hinzufügen und Entfernen von Workern aus dem Cluster abhängig von der Parallelität in jeder Phase oder jedemMikro-Stapel der Auftragsausführung.

  • Dadurch müssen Sie nicht experimentieren und entscheiden, wie viele Worker Sie Ihren AWS Glue-ETL-Aufträgen zuweisen möchten.

  • Wenn Sie die maximale Worker-Anzahl auswählen, wird AWS Glue die Ressourcen in der richtigen Größe für den Workload auswählen.

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

Auto Scaling für AWS Glue-ETL- und Streaming-Aufträge ermöglicht Skalierung der Rechenressourcen Ihrer AWS Glue-Aufträge auf Abruf. 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 dynamisches Herabskalieren der AWS Glue-Auftragsressourcen im Laufe eines Auftrags. 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.

Häufige Szenarien, in denen Auto Scaling bei Kosten und Auslastung für Ihre Spark-Anwendungen hilft, sind unter anderem ein Spark-Treiber, der eine große Anzahl von Dateien in Amazon S3 auflistet oder eine Ladung ausführt, während Ausführer inaktiv sind, Spark-Phasen, die aufgrund von Überbereitungsbereitstellung mit nur wenigen Ausführern und Datenverzerrungen ausgeführt werden, oder ungleichmäßiger Berechnungsbedarf über mehrere Spark-Phasen hinweg.

Voraussetzungen

Auto Scaling ist nur für AWS Glue-Version 3.0 oder höher verfügbar. Um Auto Scaling zu verwenden, können Sie die Migrationsanleitung befolgen, um Ihre vorhandenen Aufträge auf AWS Glue-Version 3.0 oder höher zu migrieren oder neue Aufträge mit AWS Glue-Version 3.0 oder höher zu erstellen.

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

Aktivieren von Auto Scaling in AWS Glue Studio

Wählen Sie auf der Registerkarte Job details (Auftragsdetails) in AWS Glue Studio als Typ Spark oder Spark Streaming und als Glue version (Glue-Version) Glue 3.0 oder Glue 4.0 aus. Dann erscheint unter Worker-Typ ein Kontrollfeld.

  • 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.

Aktivieren und Konfigurieren von Auto Scaling 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 dpuSeconds wird nur für Ihre Batch-Jobs auf AWS Glue 3.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.

Überwachung von Auto Scaling mit CloudWatch Amazon-Metriken

Die CloudWatch Executor-Metriken sind für Ihre Jobs der AWS Glue Version 3.0 oder höher verfügbar, 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 Überwachung von AWS Glue mit Amazon CloudWatch-Metriken.

  • glue.driver. ExecutorAllocationManager. Testamentsvollstrecker. numberAllExecutors

  • Klebertreiber. ExecutorAllocationManager. Testamentsvollstrecker. numberMaxNeededTestamentsvollstrecker

Überwachung von Auto Scaling mit CloudWatch Amazon-Metriken.

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

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

Wenn Auto Scaling aktiviert ist, können Sie auch mit der Glue Spark-Benutzeroberfläche überwachen, dass Ausführer basierend auf der Nachfrage in Ihren AWS Glue-Aufträgen mit dynamischer Hoch- und Herabskalierung hinzugefügt und entfernt werden. Weitere Informationen finden Sie unter Aktivieren der Apache-Spark-Webbenutzeroberfläche für AWS Glue-Aufgaben.

Ü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 AWS Glue Studio Navigationsbereich die Option Monitoring 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 GlueStreaming 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äß.