Verwenden von Scala zum Programmieren von AWS Glue-ETL-Skripts - 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 Scala zum Programmieren von AWS Glue-ETL-Skripts

Sie können mit der AWS Glue-Konsole automatisch ein Extraktions-, Transformations- und Ladeprogramm (ETL) in Scala erzeugen und bei Bedarf ändern, bevor Sie es einem Auftrag zuweisen. Oder Sie können Ihr eigenes Programm von Grund auf neu schreiben. Weitere Informationen finden Sie unter Konfigurieren von Auftragseigenschaften für Spark-Aufträge in AWS Glue. AWS Glue kompiliert Ihr Scala-Programm anschließend auf dem Server, ehe der verknüpfte Auftrag ausgeführt wird.

Um sicherzustellen, dass Ihr Programm fehlerfrei kompiliert und wie erwartet ausgeführt wird, ist es wichtig, dass Sie es auf einen Entwicklungsendpunkt in einer REPL (Read-Eval-Print Loop) oder einem Jupyter Notebook laden und dort testen, bevor Sie es in einem Auftrag ausführen. Da die Kompilierung auf einem Server stattfindet, haben Sie keinen guten Einblick in möglicherweise auftretende Probleme.

Testen eines Scala-ETL-Programms in einem Jupyter Notebook auf einem Entwicklungsendpunkt

Um ein Scala-Programm auf einem AWS Glue-Entwicklungsendpunkt zu testen, richten Sie den Entwicklungsendpunkt ein. Einzelheiten dazu finden Sie unter Hinzufügen eines Entwicklungsendpunkts.

Verbinden Sie es anschließend mit einem Jupyter Notebook, das entweder lokal auf Ihrem Computer oder remote auf einem Amazon-EC2-Notebook-Server ausgeführt wird. Befolgen Sie zum Installieren einer lokalen Jupyter-Notebook-Version die Anweisungen unter Tutorial: Jupyter Notebook im JupyterLab.

Der einzige Unterschied zwischen der Ausführung von Scala-Code und PySpark-Code auf Ihrem Notebook besteht darin, dass jeder Absatz auf dem Notebook zu beginnen ist dem Folgenden:

%spark

Dies verhindert, dass der Notebook-Server standardmäßig die PySpark-Variante des Spark-Interpreters verwendet.

Testen eines Scala-ETL-Programms in einer Scala REPL

Mit dem AWS Glue Scala REPL können Sie ein Scala-Programm auf einem Entwicklungs-Endpunkt testen. Folgen Sie den Anweisungen in Tutorial: Verwenden eines SageMaker-AI-Notebooks außer am Ende des SSH-zu-REPL-Befehls, ersetzen Sie -t gluepyspark mit -t glue-spark-shell. Dies ruft die AWS Glue Scala REPL auf.

Geben Sie sys.exit ein, um die REPL zu schließen, wenn Sie fertig sind.