Konfiguration der Auftragseigenschaften für Spark-Jobs in 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.

Konfiguration der Auftragseigenschaften für Spark-Jobs in AWS Glue

Wenn Sie Ihren Job auf der AWS Glue Konsole definieren, geben Sie Werte für Eigenschaften zur Steuerung der AWS Glue Laufzeitumgebung an.

Definieren von Auftragseigenschaften für Spark-Aufträge

Die folgende Liste enthält Beschreibungen der Eigenschaften eines Spark-Auftrags. Informationen zu den Eigenschaften von Python-Shell-Aufträgen finden Sie unter Definieren von Auftragseigenschaften für Python-Shell-Aufträge. Die Eigenschaften eines ETL Streaming-Jobs finden Sie unterDefinieren von Auftragseigenschaften für einen Streaming-ETL-Auftrag.

Die Eigenschaften werden in der Reihenfolge aufgeführt, in der sie im Assistenten zum Hinzufügen von Jobs auf der AWS Glue Konsole angezeigt werden.

Name

Geben Sie eine Zeichenfolge von UTF -8 mit einer maximalen Länge von 255 Zeichen ein.

Beschreibung

Geben Sie eine optionale Beschreibung mit bis zu 2048 Zeichen ein.

IAMRolle

Geben Sie die IAM Rolle an, die für die Autorisierung von Ressourcen verwendet wird, die für die Ausführung des Jobs und den Zugriff auf Datenspeicher verwendet werden. Weitere Informationen zu den Berechtigungen für die Ausführung von Jobs in AWS Glue finden Sie unterIdentity and Access Management für AWS Glue.

Typ

Die Art des ETL Jobs. Dies wird automatisch auf der Grundlage der Art der ausgewählten Datenquellen festgelegt.

AWS Glue -Version

AWS Glue Version bestimmt die Versionen von Apache Spark und Python, die für den Job verfügbar sind, wie in der folgenden Tabelle angegeben.

AWS Glue Version Unterstützte Spark- und Python-Versionen
4,0
  • Spark 3.3.0

  • Python 3.10

3.0
  • Spark 3.1.1

  • Python 3.7

2.0
  • Spark 2.4.3

  • Python 3.7

1,0
  • Spark 2.4.3

  • Python 2.7

  • Python 3.6

0.9
  • Spark 2.2.1

  • Python 2.7

Sprache

Der Code im ETL Skript definiert die Logik Ihres Jobs. Das Skript kann in Python oder Scala programmiert werden. Sie können wählen, ob das Skript, das der Job ausführt, von Ihnen generiert AWS Glue oder bereitgestellt wird. Geben Sie den Skript-Namen und den Speicherort in Amazon Simple Storage Service (Amazon S3) an. Vergewissern Sie sich, dass sich keine Datei mit dem Namen des Skriptverzeichnisses im Pfad befindet. Weitere Informationen zum Schreiben von Skripts finden Sie unter AWS Glue Programmierleitfaden.

Worker type (Worker-Typ)

Die folgenden Worker-Typen sind verfügbar:

Die Ressourcen, die den AWS Glue Mitarbeitern zur Verfügung stehen, werden in gemessenDPUs. A DPU ist ein relatives Maß für die Rechenleistung, das sich vCPUs aus 4 Rechenkapazität und 16 GB Arbeitsspeicher zusammensetzt.

  • G.1X – Wenn Sie diese Art auswählen, müssen Sie auch einen Wert für die Anzahl der Worker angeben. Jeder Worker hat eine Zuordnung zu 1 DPU (4vCPUs, 16 GB Arbeitsspeicher) mit 84 GB Festplatte (ca. 34 GB freier Speicherplatz). Wir empfehlen diesen Worker-Typ für Workloads wie Datentransformationen, Zusammenführungen und Abfragen. Er bietet eine skalierbare und kostengünstige Möglichkeit, die meisten Aufträge auszuführen.

  • G.2X – Wenn Sie diese Art auswählen, müssen Sie auch einen Wert für die Anzahl der Worker angeben. Jeder Worker wird 2 DPU (8vCPUs, 32 GB Arbeitsspeicher) zugeordnet und verfügt über eine 128-GB-Festplatte (ca. 77 GB freier Speicherplatz). Wir empfehlen diesen Worker-Typ für Workloads wie Datentransformationen, Zusammenführungen und Abfragen. Er bietet eine skalierbare und kostengünstige Möglichkeit, die meisten Aufträge auszuführen.

  • G.4X – Wenn Sie diese Art auswählen, müssen Sie auch einen Wert für die Anzahl der Worker angeben. Jeder Worker ordnet 4 DPU (16vCPUs, 64 GB Arbeitsspeicher) mit 256 GB Festplatte (ca. 235 GB freier Speicherplatz) zu. Wir empfehlen diesen Worker-Typ für Aufträge, deren Workloads Ihre anspruchsvollsten Transformationen, Aggregationen, Verknüpfungen und Abfragen enthalten. Dieser Workertyp ist nur für ETL Spark-Jobs der AWS Glue Version 3.0 oder höher in den folgenden AWS Regionen verfügbar: USA Ost (Ohio), USA Ost (Nord-Virginia), USA West (Oregon), Asien-Pazifik (Singapur), Asien-Pazifik (Sydney), Asien-Pazifik (Tokio), Kanada (Zentral), Europa (Frankfurt), Europa (Irland) und Europa (Stockholm).

  • G.8X – Wenn Sie diese Art auswählen, müssen Sie auch einen Wert für die Anzahl der Worker angeben. Jeder Worker ordnet 8 DPU (32vCPUs, 128 GB Arbeitsspeicher) mit 512 GB Festplatte (ca. 487 GB frei) zu. Wir empfehlen diesen Worker-Typ für Aufträge, deren Workloads Ihre anspruchsvollsten Transformationen, Aggregationen, Verknüpfungen und Abfragen enthalten. Dieser Worker-Typ ist nur für ETL Spark-Jobs der AWS Glue Version 3.0 oder höher in denselben AWS Regionen verfügbar, in denen er auch für den G.4X Worker-Typ unterstützt wird.

  • G.025X – Wenn Sie diese Art auswählen, müssen Sie auch einen Wert für die Anzahl der Worker angeben. Jeder Worker entspricht 0,25 DPU (2,4 vCPUs GB Arbeitsspeicher) mit 84 GB Festplatte (ca. 34 GB freier Speicherplatz). Wir empfehlen diesen Worker-Typ für Streaming-Aufträge mit geringem Volumen. Dieser Workertyp ist nur für Streaming-Jobs der AWS Glue Version 3.0 verfügbar.

Ihnen wird ein Stundensatz berechnet, der auf der Anzahl der für die Ausführung Ihrer ETL Jobs DPUs verwendeten Personen basiert. Weitere Informationen finden Sie in der AWS Glue Preisliste.

Wenn Sie für Jobs der AWS Glue Version 1.0 oder früher einen Job mithilfe der Konsole konfigurieren und den Worker-Typ Standard angeben, wird die maximale Kapazität festgelegt und die Anzahl der Worker wird zum Wert von Maximale Kapazität — 1. Wenn Sie AWS Command Line Interface (AWS CLI) oder verwenden AWS SDK, können Sie den Parameter Max. Kapazität angeben, oder Sie können sowohl den Arbeitstyp als auch die Anzahl der Arbeitskräfte angeben.

Für Jobs der AWS Glue Version 2.0 oder höher können Sie keine maximale Kapazität angeben. Stattdessen sollten Sie einen Worker-Typ und die Anzahl der Worker angeben.

Angeforderte Anzahl von Mitarbeitern

Für die meisten Worker-Typen müssen Sie die Anzahl der Worker angeben, die bei der Ausführung des Auftrags zugewiesen werden.

Auftrags-Lesezeichen

Geben Sie an, wie Statusinformationen AWS Glue verarbeitet werden, wenn der Job ausgeführt wird. Sie können bereits verarbeitete Daten beibehalten lassen, Statusinformationen aktualisieren oder Statusinformationen ignorieren. Weitere Informationen finden Sie unter Verfolgen von verarbeiteten Daten mit Auftragslesezeichen.

Warteschlange beim Ausführen von Job

Gibt an, ob Auftragsausführungen in die Warteschlange gestellt werden, um sie später auszuführen, wenn sie aufgrund von Dienstkontingenten nicht sofort ausgeführt werden können.

Wenn diese Option aktiviert ist, ist die Warteschlange für die Auftragsausführungen aktiviert. Wenn sie nicht ausgefüllt sind, werden die Auftragsausführungen nicht in die Warteschlange aufgenommen.

Wenn diese Einstellung nicht mit dem Wert übereinstimmt, der in der Auftragsausführung festgelegt wurde, wird der Wert aus dem Feld für die Auftragsausführung verwendet.

Flexible Ausführung

Wenn Sie einen Job mit AWS Studio oder dem konfigurieren, können API Sie eine Standard- oder flexible Jobausführungsklasse angeben. Ihre Aufträge können unterschiedliche Prioritäten und Zeitsensibilität haben. Die Standardausführungsklasse ist ideal für zeitkritische Workloads, die einen schnellen Auftragsstart und dedizierte Ressourcen erfordern.

Die flexible Ausführungsklasse eignet sich für nicht dringende Aufträge, deren Start- und Abschlusszeiten variieren können, z. B. für Vorproduktionsaufträge, Tests und einmalige Datenübertragungen. Flexible Auftragsausführungen werden für Jobs unterstützt, die AWS Glue Version 3.0 oder höher und/oder G.1X G.2X Workertypen verwenden.

Ausführungen von Flex-Aufträgen werden basierend auf der Anzahl der Worker abgerechnet, die zu einem beliebigen Zeitpunkt ausgeführt werden. Die Anzahl der Worker kann für die Ausführung eines flexiblen Auftrags hinzugefügt oder entfernt werden. Anstatt eine einfache Berechnung von Max Capacity * Execution Time abzurechnen, trägt jeder Worker für die Zeit bei, die er während der Ausführung des Auftrags ausgeführt hat. Die Rechnung ist die Summe von (Number of DPUs per worker*time each worker ran).

Weitere Informationen finden Sie im Hilfebereich in AWS Studio oder Aufträge undAuftragsausführungen.

Anzahl der Wiederholungen

Geben Sie an, wie oft (zwischen 0 und 10) der Job automatisch neu gestartet werden AWS Glue soll, falls er fehlschlägt. Aufträge, die das Timeout-Limit erreichen, werden nicht neu gestartet.

Zeitüberschreitung von Aufträgen

Legt die maximale Ausführungszeit in Minuten fest. Der Standardwert für Batchaufträge beträgt 2880 Minuten (48 Stunden). Wenn die Auftragsausführungszeit diesen Grenzwert überschreitet, ändert sich der Auftragsausführungsstatus in TIMEOUT.

Streaming-Jobs müssen Timeout-Werte von weniger als 7 Tagen oder 10080 Minuten haben. Wenn der Wert leer gelassen wird, wird der Job nach 7 Tagen neu gestartet, sofern Sie kein Wartungsfenster eingerichtet haben. Wenn Sie ein Wartungsfenster eingerichtet haben, wird es während des Wartungsfensters nach 7 Tagen neu gestartet.

Bewährte Methoden für Job-Timeouts

Jobs werden auf der Grundlage der Ausführungszeit abgerechnet. Um unerwartete Gebühren zu vermeiden, konfigurieren Sie Timeout-Werte, die der erwarteten Ausführungszeit Ihres Jobs entsprechen.

Erweiterte Eigenschaften
Dateiname des Skripts

Ein eindeutiger Skriptname für Ihren Job. Kann nicht als Job ohne Titel bezeichnet werden.

Skriptpfad

Der Amazon S3 S3-Speicherort des Skripts. Der Pfad muss im Format s3://bucket/prefix/path/ eingegeben werden. Es muss mit einem Schrägstrich (/) enden und darf keine Dateien enthalten.

Auftragsmetriken

Schalten Sie die Erstellung von CloudWatch Amazon-Metriken ein oder aus, wenn dieser Job ausgeführt wird. Um die Profiling-Daten anzuzeigen, müssen Sie diese Option aktivieren. Weitere Informationen über das Aktivieren und Anzeigen von Metriken finden Sie unter Auftragsüberwachung und Debugging.

Kennzahlen zur Jobbeobachtbarkeit

Schalten Sie die Erstellung zusätzlicher CloudWatch Messwerte für die Beobachtbarkeit ein, wenn dieser Job ausgeführt wird. Weitere Informationen finden Sie unter Überwachung mit AWS Glue-Beobachtbarkeitsmetriken.

Kontinuierliche Protokollierung

Aktivieren Sie die kontinuierliche Protokollierung bei Amazon CloudWatch. Wenn diese Option nicht aktiviert ist, stehen Protokolle erst nach Abschluss des Auftrags zur Verfügung. Weitere Informationen finden Sie unter Kontinuierliche Protokollierung für AWS Glue-Aufträge.

Spark-Benutzeroberfläche

Aktivieren Sie die Verwendung der Spark-Benutzeroberfläche, um diese Aufgabe zu überwachen. Weitere Informationen finden Sie unter Aktivieren der Apache-Spark-Webbenutzeroberfläche für AWS Glue-Aufgaben.

Pfad der Spark-Benutzeroberfläche protokolliert

Der Pfad zum Schreiben von Protokollen, wenn die Spark-Benutzeroberfläche aktiviert ist.

Konfiguration der Protokollierung und Überwachung der Spark-Benutzeroberfläche

Wählen Sie eine der folgenden Optionen:

  • Standard: Schreiben Sie Protokolle mit der AWS Glue Job-Run-ID als Dateinamen. Schalten Sie die Spark-UI-Überwachung in der AWS Glue Konsole ein.

  • Legacy: Schreiben Sie Logs mit 'spark-application- {timestamp} 'als Dateinamen. Schalten Sie die Spark-UI-Überwachung nicht ein.

  • Standard und Legacy: Schreiben Sie Protokolle sowohl an den Standard- als auch an den Legacy-Speicherort. Aktivieren Sie die Spark-UI-Überwachung in der AWS Glue Konsole.

Maximale Gleichzeitigkeit

Legt die maximale Anzahl gleichzeitiger Ausführungen fest, die für diese Ausführung zulässig sind. Der Standardwert ist 1. Bei Erreichen dieser Schwelle wird ein Fehler zurückgegeben. Der Höchstwert, den Sie angeben können, wird durch ein Service Limit gesteuert. Wenn beispielsweise beim Starten einer neuen Instance eine vorherige Ausführung läuft, möchten Sie einen Fehler zurückgeben, um zu verhindern, dass zwei Instance desselben Auftrags gleichzeitig ausgeführt werden.

Temporärer Pfad

Geben Sie den Speicherort eines Arbeitsverzeichnisses in Amazon S3 an, in das temporäre Zwischenergebnisse geschrieben werden, wenn das Skript AWS Glue ausgeführt wird. Vergewissern Sie sich, dass sich keine Datei mit dem Namen des temporären Verzeichnis im Pfad befindet. Dieses Verzeichnis wird beim AWS Glue Lesen und Schreiben in Amazon Redshift und bei bestimmten AWS Glue Transformationen verwendet.

Anmerkung

AWS Glue erstellt einen temporären Bucket für Jobs, falls in einer Region noch kein Bucket vorhanden ist. Dieser Bucket erlaubt möglicherweise den öffentlichen Zugriff. Sie können entweder den Bucket in Amazon S3 ändern, um den öffentlichen Zugriffsblock festzulegen, oder den Bucket später löschen, nachdem alle Aufträge in dieser Region abgeschlossen sind.

Schwellenwert für die Verzögerungsbenachrichtigung (Minuten)

Legt den Schwellenwert (in Minuten) fest, bevor eine Verzögerungsbenachrichtigung gesendet wird. Sie können diesen Schwellenwert festlegen, um Benachrichtigungen zu senden, wenn ein RUNNING, STARTING oder STOPPING Auftragslauf mehr als eine erwartete Anzahl von Minuten andauert.

Security configuration (Sicherheitskonfiguration)

Wählen Sie eine Sicherheitskonfiguration aus der Liste aus. Eine Sicherheitskonfiguration legt fest, wie die Daten auf dem Amazon S3 S3-Ziel verschlüsselt werden: keine Verschlüsselung, serverseitige Verschlüsselung mit AWS KMS-verwalteten Schlüsseln (SSE-KMS) oder Amazon S3-verwaltete Verschlüsselungsschlüssel (-S3). SSE

Server-side encryption

Wenn Sie diese Option auswählen und der ETL Job in Amazon S3 schreibt, werden die Daten im Ruhezustand mit der SSE -S3-Verschlüsselung verschlüsselt. Sowohl Ihr Amazon-S3-Datenziel als auch alle Daten, die in ein temporäres Amazon-S3-Verzeichnis geschrieben werden, werden verschlüsselt. Diese Option wird als Auftragsparameter übergeben. Weitere Informationen finden Sie unter Schützen von Daten mithilfe serverseitiger Verschlüsselung mit Amazon S3-Managed Encryption Keys (SSE-S3) im Amazon Simple Storage Service-Benutzerhandbuch.

Wichtig

Diese Option wird bei Angabe einer Sicherheitskonfiguration ignoriert.

Verwenden des Glue-Datenkatalogs als Hive-Metastore

Wählen Sie aus, ob der AWS Glue Datenkatalog als Hive-Metastore verwendet werden soll. Die für den Job verwendete IAM Rolle muss über die glue:CreateDatabase entsprechende Berechtigung verfügen. Sofern nicht bereits vorhanden, wird im Data Catalog eine Datenbank namens „default“ angelegt.

Verbindungen

Wählen Sie eine VPC Konfiguration für den Zugriff auf Amazon S3 S3-Datenquellen in Ihrer virtuellen privaten Cloud (VPC). Sie können eine Netzwerkverbindung in erstellen und verwalten AWS Glue. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu Daten.

Bibliotheken
Python-Bibliothekspfad, abhängiger JARs Pfad und Pfad der referenzierten Dateien

Geben Sie diese Optionen an, wenn Ihr Skript sie benötigt. Sie können die durch Kommas getrennten Amazon-S3-Pfade für diese Optionen definieren, wenn Sie den Auftrag definieren. Sie können diese Pfade bei der Ausführung des Auftrag überschreiben. Weitere Informationen finden Sie unter Bereitstellen eigener, benutzerdefinierter Skripts.

Auftragsparameter

Ein Satz von Schlüssel-Wert-Paaren, die als benannte Parameter an das Skript übergeben werden. Dies sind Standardwerte, die verwendet werden, wenn das Skript ausgeführt wird. Sie können auch in Auslösern oder beim Ausführen der Aufgabe überschrieben werden. Sie müssen dem Schlüsselnamen -- voranstellen; z. B.: --myKey. Sie übergeben Jobparameter als Map, wenn Sie den verwenden AWS Command Line Interface.

Beispiele finden Sie unter „Python parameters“ (Python-Parameter) in Übergeben von und Zugreifen auf Python-Parameter in AWS Glue.

Tags

Markieren Sie Ihren Auftrag mit einem Tag-Schlüssel und einem optionalen Tag-Wert. Nachdem Tag-Schlüssel erstellt wurden, sind sie schreibgeschützt. Verwenden Sie Tags für manche Ressourcen, damit sie leichter zu organisieren und identifizieren sind. Weitere Informationen finden Sie unter AWS Tags in AWS Glue.

Einschränkungen für Aufträge, die auf verwaltete Tabellen von Lake Formation zugreifen

Beachten Sie die folgenden Hinweise und Einschränkungen, wenn Sie Jobs erstellen, die aus Tabellen lesen oder in Tabellen schreiben, die von verwaltet werden AWS Lake Formation: