Aktivieren der Apache-Spark-Webbenutzeroberfläche für AWS Glue-Aufgaben - 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.

Aktivieren der Apache-Spark-Webbenutzeroberfläche für AWS Glue-Aufgaben

Sie können die Apache-Spark-Webbenutzeroberfläche verwenden, um AWS Glue-ETL-Aufgaben zu überwachen und zu debuggen, die im AWS Glue-Aufgabensystem ausgeführt werden. Sie können die Spark-Benutzeroberfläche über die AWS Glue-Konsole oder die AWS Command Line Interface (AWS CLI) konfigurieren.

AWS Glue sichert die Spark-Ereignisprotokolle alle 30 Sekunden zu dem von Ihnen angegebenen Amazon-S3-Pfad.

Konfigurieren der Spark-Benutzeroberfläche (Konsole)

Gehen Sie wie folgt vor, um die Spark-Benutzeroberfläche über die AWS Management Console zu konfigurieren. Beim Erstellen eines AWS Glue Jobs ist die Spark-Benutzeroberfläche standardmäßig aktiviert.

Die Spark-Benutzeroberfläche aktivieren, wenn Sie einen Auftrag erstellen oder bearbeiten
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Glue Konsole unter https://console.aws.amazon.com/glue/.

  2. Wählen Sie im Navigationsbereich die Option Jobs (Aufträge) aus.

  3. Wählen Auftrag hinzufügen oder einen vorhandenen Auftrag aus.

  4. Klicken Sie in den Auftragsdetails auf Erweiterte Eigenschaften.

  5. Wählen Sie auf der Registerkarte Spark-Benutzeroberfläche die Option Spark-UI-Protokolle in Amazon S3 schreiben aus.

  6. Geben Sie einen Amazon-S3-Pfad zum Speichern der Spark-Ereignisprotokolle für die Aufgabe an. Beachten Sie, dass die Verschlüsselung auch auf die Protokolldatei der Spark-Benutzeroberfläche angewendet wird, wenn Sie im Auftrag eine Sicherheitskonfiguration verwenden. Weitere Informationen finden Sie unter Verschlüsseln von Daten, die von AWS Glue geschrieben werden.

  7. Gehen Sie unter Konfiguration der Protokollierung und Überwachung in der Spark-Benutzeroberfläche wie folgt vor:

    • Wählen Sie Standard aus, wenn Sie Protokolle zur Anzeige in der AWS Glue Konsole generieren.

    • Wenn Sie Protokolle zur Anzeige auf einem Spark History-Server generieren, wählen Sie Legacy aus.

    • Sie können auch beide Protokolltypen generieren.

Konfigurieren der Spark-Benutzeroberfläche (AWS CLI)

Um Protokolle für die Anzeige mit der Spark-Benutzeroberfläche zu generieren, verwenden Sie in der AWS Glue Konsole die, AWS CLI um die folgenden Job-Parameter an AWS Glue Jobs zu übergeben. Weitere Informationen finden Sie unter Verwenden von Jobparametern in AWS Glue-Jobs.

'--enable-spark-ui': 'true', '--spark-event-logs-path': 's3://s3-event-log-path'

Um Protokolle an ihre Legacy-Speicherorte zu verteilen, setzen Sie den Parameter --enable-spark-ui-legacy-path auf "true". Wenn Sie keine Protokolle in den beiden Formaten generieren möchten, entfernen Sie den Parameter --enable-spark-ui.

Konfigurieren der Spark-Benutzeroberfläche für Sitzungen mit Notebooks

Warnung

AWS Glue interaktive Sitzungen unterstützen derzeit keine Spark-Benutzeroberfläche in der Konsole. Konfigurieren Sie einen Spark History-Server.

Wenn Sie AWS Glue Notebooks verwenden, richten Sie die SparkUI-Konfiguration ein, bevor Sie die Sitzung starten. Verwenden Sie dazu das %%configure-Zellen-Magic:

%%configure { “--enable-spark-ui”: “true”, “--spark-event-logs-path”: “s3://path” }

Aktivieren Sie fortlaufende Logs

Die Aktivierung von SparkUI- und Rolling-Log-Ereignisdateien für AWS Glue Jobs bietet mehrere Vorteile:

  • Rolling Log Event Files — Wenn die rollierenden Log-Ereignisdateien aktiviert sind, werden separate Protokolldateien für jeden Schritt der Jobausführung AWS Glue generiert, sodass Probleme, die für eine bestimmte Phase oder Transformation spezifisch sind, leichter identifiziert und behoben werden können.

  • Bessere Protokollverwaltung — Rollende Protokollereignisdateien helfen dabei, Protokolldateien effizienter zu verwalten. Anstatt über eine einzige, potenziell große Protokolldatei zu verfügen, werden die Protokolle je nach den Phasen der Auftragsausführung in kleinere, besser verwaltbare Dateien aufgeteilt. Dies kann die Archivierung, Analyse und Problembehandlung von Protokollen vereinfachen.

  • Verbesserte Fehlertoleranz — Wenn ein AWS Glue Job fehlschlägt oder unterbrochen wird, können die fortlaufenden Protokollereignisdateien wertvolle Informationen über die letzte erfolgreiche Phase liefern, sodass es einfacher ist, den Job an diesem Punkt fortzusetzen, anstatt von vorne zu beginnen.

  • Kostenoptimierung — Durch die Aktivierung von rollierenden Protokollereignisdateien können Sie die mit Protokolldateien verbundenen Speicherkosten sparen. Anstatt eine einzelne, potenziell große Protokolldatei zu speichern, speichern Sie kleinere, besser verwaltbare Protokolldateien, was insbesondere bei lang andauernden oder komplexen Aufträgen kostengünstiger sein kann.

In einer neuen Umgebung können Benutzer das Rolling Logs explizit aktivieren, indem sie:

'—conf': 'spark.eventLog.rolling.enabled=true'

or

'—conf': 'spark.eventLog.rolling.enabled=true —conf spark.eventLog.rolling.maxFileSize=128m'

Wenn Rolling-Logs aktiviert sind, spark.eventLog.rolling.maxFileSize gibt dies die maximale Größe der Ereignisprotokolldatei an, bevor sie übertragen wird. Der Standardwert dieses optionalen Parameters ist 128 MB, sofern er nicht angegeben wird. Der Mindestwert ist 10 MB.

Die maximale Summe aller generierten gerollten Protokollereignisdateien beträgt 2 GB. Für AWS Glue Jobs ohne Rolling-Log-Unterstützung beträgt die maximale Größe der Protokollereignisdatei, die für SparkUI unterstützt wird, 0,5 GB.

Sie können fortlaufende Protokolle für einen Streaming-Auftrag deaktivieren, indem Sie eine zusätzliche Konfiguration übergeben. Beachten Sie, dass die Pflege sehr großer Protokolldateien kostspielig sein kann.

Um fortlaufende Protokolle zu deaktivieren, stellen Sie die folgende Konfiguration bereit:

'--spark-ui-event-logs-path': 'true', '--conf': 'spark.eventLog.rolling.enabled=false'