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 bietet die folgenden integrierten Transformationen, die Sie in PySpark ETL Operationen verwenden können. Ihre Daten werden von Transformation zu Transformation in einer Datenstruktur namens a weitergeleitet DynamicFrame, die eine Erweiterung von Apache Spark SQL DataFrame
ist. 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/