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.
Transformationreferenz in AWS Glue PySpark
AWS Glue bietet die folgenden integrierten Transformationen, die in PySpark-ETL-Operationen verwendet werden können. Ihre Daten werden in einer Datenstruktur namens DynamicFrame von Transformation zu Transformation übergeben (eine Erweiterung für ein Apache Spark SQL DataFrame). 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.
Transformationen der Datenintegration
Für AWS Glue 4.0 und höher erstellen oder aktualisieren Sie Auftragsargumente mit key: --enable-glue-di-transforms, value: true.
Beispiel für ein Auftragsskript:
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 des Plugins mit Ihren Spark-Anwendungen
Sie können die Transformationsabhängigkeit mit Ihren Spark-Anwendungen und Spark-Distributionen (Version 3.3) bündeln, indem Sie die Plugin-Abhängigkeit in Ihrer Maven-pom.xml-Datei hinzufügen, 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>
Alternativ können Sie die Binärdateien direkt von Maven-Artefakten von AWS Glue herunterladen und wie folgt in Ihre Spark-Anwendung einbinden.
#!/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/