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

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-Auftrags 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 AWS Management Console an 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:

    • Wenn Sie Protokolle zur Anzeige in der AWS Glue-Konsole generieren, wählen Sie Standard aus.

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

Wenn Sie Protokolle zur Anzeige in der Spark-Benutzeroberfläche generieren möchten, übergeben Sie in der AWS Glue-Konsole mit der AWS CLI die folgenden Auftragsparameter an AWS Glue-Aufträge. Weitere Informationen finden Sie unter Verwendung von Auftragsparametern in AWS-Glue-Aufträgen.

'--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

Interaktive AWS Glue-Sitzungen bieten derzeit keine Unterstützung für die Spark-Benutzeroberfläche in der Konsole. Konfigurieren Sie einen Spark History-Server.

Wenn Sie AWS Glue-Notebooks verwenden, richten Sie vor dem Starten der Sitzung die SparkUI-Konfiguration ein. Verwenden Sie dazu das %%configure-Zellen-Magic:

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

Aktivieren fortlaufender Protokolle

Die Aktivierung der Spark-Benutzeroberfläche und Ereignisdateien fortlaufender Protokolle für AWS Glue-Aufträge bietet mehrere Vorteile:

  • Ereignisdateien fortlaufender Protokolle – Wenn die Ereignisdateien fortlaufender Protokolle aktiviert sind, generiert AWS Glue separate Protokolldateien für jeden Schritt der Auftragsausführung, sodass Probleme, die für eine bestimmte Phase oder Transformation spezifisch sind, leichter identifiziert und behoben werden können.

  • Bessere Protokollverwaltung – Ereignisdateien fortlaufender Protokolle helfen dabei, Protokolldateien effizienter zu verwalten. Anstatt eine einzige, potenziell große Protokolldatei zu haben, 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-Auftrag fehlschlägt oder unterbrochen wird, können die Ereignisdateien fortlaufender Protokolle wertvolle Informationen über die letzte erfolgreiche Phase liefern, sodass es einfacher ist, den Auftrag an diesem Punkt fortzusetzen, anstatt von vorne zu beginnen.

  • Kostenoptimierung – Durch die Aktivierung von Ereignisdateien fortlaufender Protokolle können Sie die mit Protokolldateien verbundenen Speicherkosten verringern. Statt einer einzelnen, potenziell großen Protokolldatei werden kleinere, besser verwaltbare Protokolldateien gespeichert, was insbesondere bei lang andauernden oder komplexen Aufträgen kostengünstiger sein kann.

In einer neuen Umgebung können Benutzer fortlaufende Protokolle explizit wie folgt aktivieren:

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

oder

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

Wenn fortlaufende Protokolle aktiviert sind, gibt spark.eventLog.rolling.maxFileSize die maximale Größe der Ereignisprotokolldatei an, bevor ein Roll-Over ausgeführt wird. Wenn der Standardwert für diesen optionalen Parameter nicht angegeben wird, wird der Standardwert 128 MB verwendet. Mindestens 10 MB.

Die maximale Summe aller generierten Ereignisdateien für fortlaufende Protokolle beträgt 2 GB. Für AWS Glue-Aufträge ohne Unterstützung fortlaufender Protokolle beträgt die maximale Größe der Protokollereignisdatei, die für die Spark-Benutzeroberfläche 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'