

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
<a name="aws-glue-programming-python-transforms"></a>

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 Spark`DataFrame`. 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](aws-glue-api-crawler-pyspark-extensions-dynamic-frame.md#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-_transforms).
+ [GlueTransform classe de base](aws-glue-api-crawler-pyspark-transforms-GlueTransform.md)
+ [ApplyMapping classe](aws-glue-api-crawler-pyspark-transforms-ApplyMapping.md)
+ [DropFields classe](aws-glue-api-crawler-pyspark-transforms-DropFields.md)
+ [DropNullFields classe](aws-glue-api-crawler-pyspark-transforms-DropNullFields.md)
+ [ErrorsAsDynamicFrame classe](aws-glue-api-crawler-pyspark-transforms-ErrorsAsDynamicFrame.md)
+ [EvaluateDataQuality classe](aws-glue-api-crawler-pyspark-transforms-EvaluateDataQuality.md)
+ [FillMissingValues classe](aws-glue-api-crawler-pyspark-transforms-fillmissingvalues.md)
+ [Classe Filter](aws-glue-api-crawler-pyspark-transforms-filter.md)
+ [FindIncrementalMatches classe](aws-glue-api-crawler-pyspark-transforms-findincrementalmatches.md)
+ [FindMatches classe](aws-glue-api-crawler-pyspark-transforms-findmatches.md)
+ [FlatMap classe](aws-glue-api-crawler-pyspark-transforms-flat-map.md)
+ [Classe Join](aws-glue-api-crawler-pyspark-transforms-join.md)
+ [Classe Map](aws-glue-api-crawler-pyspark-transforms-map.md)
+ [MapToCollection classe](aws-glue-api-crawler-pyspark-transforms-MapToCollection.md)
+ [mergeDynamicFrame](aws-glue-api-crawler-pyspark-extensions-dynamic-frame.md#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-merge)
+ [Classe Relationalize](aws-glue-api-crawler-pyspark-transforms-Relationalize.md)
+ [RenameField classe](aws-glue-api-crawler-pyspark-transforms-RenameField.md)
+ [ResolveChoice classe](aws-glue-api-crawler-pyspark-transforms-ResolveChoice.md)
+ [SelectFields classe](aws-glue-api-crawler-pyspark-transforms-SelectFields.md)
+ [SelectFromCollection classe](aws-glue-api-crawler-pyspark-transforms-SelectFromCollection.md)
+ [Classe Simplify\_ddb\_json](aws-glue-api-crawler-pyspark-transforms-simplify-ddb-json.md)
+ [Classe Spigot](aws-glue-api-crawler-pyspark-transforms-spigot.md)
+ [SplitFields classe](aws-glue-api-crawler-pyspark-transforms-SplitFields.md)
+ [SplitRows classe](aws-glue-api-crawler-pyspark-transforms-SplitRows.md)
+ [Classe Unbox](aws-glue-api-crawler-pyspark-transforms-Unbox.md)
+ [UnnestFrame classe](aws-glue-api-crawler-pyspark-transforms-UnnestFrame.md)

## Transformations d’intégration de données
<a name="aws-glue-programming-python-di-transforms"></a>

 Pour AWS Glue 4.0 et versions ultérieures, créez ou mettez à jour les arguments de tâche avec`key: --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"
```

 Transformations DI : 
+  [FlagDuplicatesInColumn classe](aws-glue-api-pyspark-transforms-FlagDuplicatesInColumn.md) 
+  [FormatPhoneNumber classe](aws-glue-api-pyspark-transforms-FormatPhoneNumber.md) 
+  [FormatCase classe](aws-glue-api-pyspark-transforms-FormatCase.md) 
+  [FillWithMode classe](aws-glue-api-pyspark-transforms-FillWithMode.md) 
+  [FlagDuplicateRows classe](aws-glue-api-pyspark-transforms-FlagDuplicateRows.md) 
+  [RemoveDuplicates classe](aws-glue-api-pyspark-transforms-RemoveDuplicates.md) 
+  [MonthName classe](aws-glue-api-pyspark-transforms-MonthName.md) 
+  [IsEven classe](aws-glue-api-pyspark-transforms-IsEven.md) 
+  [CryptographicHash classe](aws-glue-api-pyspark-transforms-CryptographicHash.md) 
+  [Classe de déchiffrement](aws-glue-api-pyspark-transforms-Decrypt.md) 
+  [Classe de chiffrement](aws-glue-api-pyspark-transforms-Encrypt.md) 
+  [IntToIp classe](aws-glue-api-pyspark-transforms-IntToIp.md) 
+  [IpToInt classe](aws-glue-api-pyspark-transforms-IpToInt.md) 

### Maven : création d’une offre groupée du plug-in pour vos applications Spark
<a name="aws-glue-programming-python-di-transforms-maven"></a>

 Vous pouvez intégrer la dépendance des transformations à vos applications et distributions Spark (version 3.3) en ajoutant la dépendance du plug-in dans votre fichier Maven `pom.xml`, tout en développant vos applications Spark en local. 

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