AWS Glue PySpark transformiert Referenz - 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.

AWS Glue PySpark transformiert Referenz

AWS Glue bietet die folgenden integrierten Transformationen, die Sie in PySpark ETL-Vorgängen verwenden können. Ihre Daten werden von Transformation zu Transformation in einer Datenstruktur namens a DynamicFrameweitergeleitet. Dabei handelt es sich um eine Erweiterung von Apache Spark SQLDataFrame. Der DynamicFrame enthält Ihre Daten und Sie verweisen auf das Schema, um Ihre Daten zu verarbeiten.

Die meisten dieser Transformationen existieren auch als Methoden der DynamicFrame-Klasse. Weitere Informationen finden Sie unter DynamicFrame Transformationen.

Datenintegration transformiert

Für AWS Glue 4.0 und höher erstellen oder aktualisieren Sie Job-Argumente mitkey: --enable-glue-di-transforms, value: true.

Beispiel für ein Jobskript:

from pyspark.context import SparkContext from awsgluedi.transforms import * sc = SparkContext() input_df = spark.createDataFrame( [(5,), (0,), (-1,), (2,), (None,)], ["source_column"], ) try: df_output = math_functions.IsEven.apply( data_frame=input_df, spark_context=sc, source_column="source_column", target_column="target_column", value=None, true_string="Even", false_string="Not even", ) df_output.show() except: print("Unexpected Error happened ") raise

Beispielsitzungen mit Notebooks

%idle_timeout 2880 %glue_version 4.0 %worker_type G.1X %number_of_workers 5 %region eu-west-1
%%configure { "--enable-glue-di-transforms": "true" }
from pyspark.context import SparkContext from awsgluedi.transforms import * sc = SparkContext() input_df = spark.createDataFrame( [(5,), (0,), (-1,), (2,), (None,)], ["source_column"], ) try: df_output = math_functions.IsEven.apply( data_frame=input_df, spark_context=sc, source_column="source_column", target_column="target_column", value=None, true_string="Even", false_string="Not even", ) df_output.show() except: print("Unexpected Error happened ") raise

Beispielsitzungen mit AWS CLI

aws glue create-session --default-arguments "--enable-glue-di-transforms=true"

DI-Transformationen:

Maven: Bündeln Sie das Plugin mit Ihren Spark-Anwendungen

Sie können die Transforms-Abhängigkeit mit Ihren Spark-Anwendungen und Spark-Distributionen (Version 3.3) bündeln, indem Sie die Plugin-Abhängigkeit in Ihrem Maven hinzufügen, pom.xml während Sie Ihre Spark-Anwendungen lokal entwickeln.

<repositories> ... <repository> <id>aws-glue-etl-artifacts</id> <url>https://aws-glue-etl-artifacts.s3.amazonaws.com/release/ </url> </repository> </repositories> ... <dependency> <groupId>com.amazonaws</groupId> <artifactId>AWSGlueTransforms</artifactId> <version>4.0.0</version> </dependency>

Sie können die Binärdateien alternativ direkt von AWS Glue Maven-Artefakten herunterladen und sie wie folgt in Ihre Spark-Anwendung aufnehmen.

#!/bin/bash sudo wget -v https://aws-glue-etl-artifacts.s3.amazonaws.com/release/com/amazonaws/AWSGlueTransforms/4.0.0/AWSGlueTransforms-4.0.0.jar -P /usr/lib/spark/jars/