AWS Glue PySpark transforme la référence - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS Glue PySpark transforme la référence

AWS Glue fournit les transformations intégrées suivantes que vous pouvez utiliser dans les opérations PySpark ETL. Vos données passent d'une transformation à l'autre dans une structure de données appelée a DynamicFrame, qui est une extension d'un SQL Apache SparkDataFrame. Le DynamicFrame contient vos données, et vous référencez son schéma pour traiter vos données.

La plupart de ces transformations existent également en tant que méthodes de la classe DynamicFrame. Pour plus d'informations, consultez la section DynamicFrame transformations.

L'intégration des données transforme

Pour AWS Glue 4.0 et versions ultérieures, créez ou mettez à jour les arguments de tâche aveckey: --enable-glue-di-transforms, value: true.

Exemple de script de tâche :

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

Exemples de sessions utilisant des blocs-notes

%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

Exemples de sessions utilisant AWS CLI

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

DI transforme :

Maven : associez le plugin à vos applications Spark

Vous pouvez associer la dépendance aux transformations à vos applications Spark et à vos distributions Spark (version 3.3) en ajoutant la dépendance au plugin dans votre Maven pom.xml tout en développant vos applications Spark localement.

<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>

Vous pouvez également télécharger les fichiers binaires directement depuis les artefacts de AWS Glue Maven et les inclure dans votre application Spark comme suit.

#!/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/