Bearbeiten oder Hochladen eines Auftragsskripts - 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.

Bearbeiten oder Hochladen eines Auftragsskripts

Nutzen Sie den visuellen Editor von AWS Glue Studio, um das Auftragsskript zu bearbeiten oder ein eigenes Skript hochzuladen.

Mit dem visuellen Editor lassen sich Auftragsknoten nur dann bearbeiten, wenn die Aufträge mit AWS Glue Studio erstellt wurden. Wenn der Auftrag mit der AWS Glue-Konsole, über API-Befehle oder über die Befehlszeilenschnittstelle (CLI) erstellt wurde, können Sie mit dem Skripteditor in AWS Glue Studio das Auftragsskript, die Parameter und den Zeitplan bearbeiten. Sie können auch das Skript für einen Auftrag bearbeiten, der in AWS Glue Studio erstellt wurde, indem Sie den Auftrag in den reinen Skriptmodus konvertieren.

Das Auftragsskript bearbeiten oder ein eigenes Skript hochladen
  1. Wenn Sie einen neuen Auftrag erstellen, wählen Sie auf der Registerkarte Jobs (Aufträge) die Option Spark script editor (Spark-Skripteditor) aus, um einen Spark-Auftrag zu erstellen. Alternativ erstellen Sie mit dem Python Shell script editor (Python-Shell-Skripteditor) einen Python-Shell-Auftrag. Sie können entweder ein neues Skript schreiben oder ein vorhandenes Skript hochladen. Wenn Sie Spark script editor (Spark-Skripteditor) auswählen, können Sie entweder ein Scala- oder Python-Skript schreiben bzw. hochladen. Wenn Sie Python Shell script editor (Python-Shell-Skripteditor) auswählen, können Sie nur ein Python-Skript schreiben oder hochladen.

    Nachdem Sie die Option zum Erstellen eines neuen Auftrags ausgewählt haben, erscheint der Bereich Options (Optionen). Hier können Sie entweder mit einem Starterskript loslegen (Create a new script with boilerplate code (Neues Skript mit Standardcode erstellen)) oder eine lokale Datei hochladen, die als Auftragsskript verwendet werden soll.

    Wenn Sie Spark script editor (Spark-Skripteditor) auswählen, können Sie Scala- oder Python-Skriptdateien hochladen. Scala-Skripts müssen die Dateiendung .scala haben. Python-Skripts müssen als Dateien vom Typ Python zu erkennen sein. Wenn Sie Python Shell script editor (Python-Shell-Skripteditor) auswählen, können Sie nur Python-Skriptdateien hochladen.

    Wenn Sie Ihre Auswahl getroffen haben, wählen Sie Create (Erstellen) aus, um den Auftrag zu erstellen und den visuellen Editor zu öffnen.

  2. Wechseln Sie zum visuellen Auftragseditor für den neuen bzw. gespeicherten Auftrag und wählen Sie dann die Registerkarte Script (Skript) aus.

  3. Wenn Sie keinen neuen Auftrag mit einer der Optionen des Skript-Editors erstellt haben und das Skript für einen vorhandenen Auftrag noch nie bearbeitet haben, zeigt die Registerkarte Script (Skript) die Überschrift Script (Locked) (Skript (gesperrt)). Das bedeutet, dass der Skripteditor im schreibgeschützten Modus ist. Wählen Sie Edit script (Skript bearbeiten), um das Skript für die Bearbeitung zu entsperren.

    Damit das Skript bearbeitet werden kann, konvertiert AWS Glue Studio Ihren Auftrag von einem visuellen Auftrag zu einem reinen Skriptauftrag. Wenn Sie das Skript für die Bearbeitung entsperren, können Sie den visuellen Editor für diesen Auftrag nach dem Speichern nicht mehr verwenden.

    Wählen Sie im Bestätigungsfenster Confirm (Bestätigen) aus, um fortzufahren, oder Cancel (Abbrechen), um den Auftrag für die visuelle Bearbeitung verfügbar zu halten.

    Wenn Sie Confirm (Bestätigen) auswählen, verschwindet die Registerkarte Visual (Visuell) aus dem Editor. Sie können mit AWS Glue Studio das Skript mit dem Skripteditor ändern, die Auftragsdetails oder den Zeitplan anpassen oder Auftragsausführungen anzeigen.

    Anmerkung

    Bis Sie den Auftrag speichern, ist die Konvertierung in einen reinen Skriptauftrag nicht dauerhaft. Wenn Sie die Konsolenwebseite aktualisieren oder den Auftrag vor dem Speichern schließen und im visuellen Editor erneut öffnen, können Sie die einzelnen Knoten weiterhin im visuellen Editor bearbeiten.

  4. Bearbeiten Sie das Skript nach Bedarf.

    Wenn Sie mit der Bearbeitung des Skripts fertig sind, wählen Sie Save (Speichern) aus, um den Auftrag zu speichern und den Auftrag dauerhaft vom visuellen Modus zum den reinen Skriptmodus zu konvertieren.

  5. (Optional) Sie können das Skript über die AWS Glue Studio-Konsole herunterladen, indem Sie die Schaltfläche Download auf der Registerkarte Script (Skript) auswählen. Wenn Sie diese Schaltfläche auswählen, wird ein neues Browserfenster geöffnet, in dem das Skript von seinem Speicherort in Amazon S3 angezeigt wird. Die Parameter Script filename (Dateiname des Skripts) und Script path (Skript-Pfad) auf der Registerkarte Job details (Auftragsdetails) des Auftrags bestimmen den Namen und den Speicherort der Skriptdatei in Amazon S3.

    Der Screenshot zeigt den visuellen Editor in AWS Glue Studio, wobei die Registerkarte „Job details (Auftragsdetails)“ ausgewählt ist. Der Abschnitt „Advanced properties (Erweiterte Eigenschaften) auf der Seite ist ausgeklappt und die Parameter „Script filename (Skriptdateiname)“ und „Script path (Skriptpfad)“ werden angezeigt. Das Feld „Script filename (Skriptdateiname)“ zeigt Join test job.py und das Feld „Script path (Skriptpfad)“ zeigt s3://aws-glue-assets-111122223333-u an.

    Wenn Sie den Auftrag speichern, speichert AWS Glue das Auftragsskript an der in diesen Feldern angegebenen Stelle. Wenn Sie die Skriptdatei an diesem Speicherort innerhalb von Amazon S3 ändern, lädt AWS Glue Studio das geänderte Skript, wenn Sie den Auftrag das nächste Mal bearbeiten.

Erstellen und Bearbeiten von Scala-Skripten in AWS Glue Studio

Wenn Sie den Skripteditor zum Erstellen eines Auftrags auswählen, ist die Programmiersprache für den Auftrag standardmäßig Python 3. Wenn Sie ein neues Skript schreiben möchten, anstatt ein Skript hochzuladen, startet AWS Glue Studio ein neues Skript mit Standardtext in Python. Wenn Sie stattdessen ein Scala-Skript schreiben möchten, müssen Sie zunächst den Skripteditor so konfigurieren, dass er Scala verwendet.

Anmerkung

Wenn Sie Scala als Programmiersprache für den Auftrag wählen und den Auftrag mit dem visuellen Editor entwerfen, wird das generierte Auftragsskript in Scala geschrieben. Dabei sind keine weiteren Aktionen erforderlich.

Informationen zum Schreiben eines neuen Scala-Skripts in AWS Glue Studio
  1. Erstellen Sie einen neuen Auftrag mit der Option Spark script editor (Spark-Skripteditor).

  2. Wählen Sie unter Optionen die Option Create a new script with boilerplate code (Neues Skript mit Standardcode erstellen) aus.

  3. Wählen Sie die Registerkarte Job details (Auftragsdetails) aus und legen Sie die Language (Sprache) auf Scala fest (anstelle von Python 3).

    Anmerkung

    Die Eigenschaft Type (Typ) des Auftrags ist automatisch Spark, wenn Sie einen Auftrag mit der Option Spark script editor (Spark-Skripteditor) erstellen.

  4. Wählen Sie die Registerkarte Script (Skript) aus.

  5. Löschen Sie den Python-Standardtext. Sie können ihn durch den folgenden Scala-Standardtext ersetzen.

    import com.amazonaws.services.glue.{DynamicRecord, GlueContext} import org.apache.spark.SparkContext import com.amazonaws.services.glue.util.JsonOptions import com.amazonaws.services.glue.util.GlueArgParser import com.amazonaws.services.glue.util.Job object MyScript { def main(args: Array[String]): Unit = { val sc: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(sc) } }
  6. Schreiben Sie Ihr Scala-Auftragsskript in den Editor. Fügen Sie nach Bedarf weitere import-Anweisungen hinzu.

Erstellen und Bearbeiten von Python-Shell-Aufträgen in AWS Glue Studio

Wenn Sie den Python-Shell-Skripteditor zum Erstellen eines Auftrags auswählen, können Sie ein vorhandenes Python-Skript hochladen oder ein neues schreiben. Wenn Sie ein neues Skript schreiben möchten, wird dem neuen Python-Auftragsskript Standardcode hinzugefügt.

Einen neuen Python-Shell-Auftrag erstellen

Anweisungen dazu finden Sie unter Starten von Aufträgen in AWS Glue Studio.

Die Auftragseigenschaften, die für Python-Shell-Aufträge unterstützt werden, sind nicht identisch mit denen, die für Spark-Aufträge unterstützt werden. In der folgenden Liste sehen Sie die Änderungen an den verfügbaren Auftragsparametern für Python-Shell-Aufträge auf der Registerkarte Job details (Auftragsdetails).

  • Die Auftragseigenschaft Type (Typ) ist automatisch Python Shell und kann nicht geändert werden.

  • Anstelle von Language (Sprache) hat der Auftrag die Eigenschaft Python version (Python-Version). Derzeit nutzen in AWS Glue Studio erstellte Python-Shell-Aufträge Python 3.6.

  • Die Eigenschaft Glue version (Glue-Version) ist nicht verfügbar, da sie nicht auf Python-Shell-Aufträge angewendet wird.

  • Anstelle von Worker type (Worker-Typ) und Number of workers (Anzahl der Worker) erscheint die Eigenschaft Data processing units (Datenverarbeitungseinheiten). Diese Auftragseigenschaft bestimmt, wie viele Datenverarbeitungseinheiten (DPUs, data processing units) von der Python-Shell verbraucht werden, wenn der Auftrag ausgeführt wird.

  • Die Eigenschaft Job bookmark (Auftragslesezeichen) ist nicht verfügbar, da sie für Python-Shell-Aufträge nicht unterstützt wird.

  • Unter Advanced properties (Erweiterte Eigenschaften) sind die folgenden Eigenschaften bei Python-Shell-Aufträgen nicht verfügbar.

    • Auftragsmetriken

    • Kontinuierliche Protokollierung

    • Spark UI und Spark UI logs path (Pfad der Spark-UI-Protokolle)

    • Dependant jars path (Abhängiger Jars-Pfad) unter der Überschrift Libraries (Bibliotheken)