AWS Glue PySpark trasforma il riferimento - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Glue PySpark trasforma il riferimento

AWS Glue fornisce le seguenti trasformazioni integrate che è possibile utilizzare nelle operazioni PySpark ETL. I dati passano da una trasformazione all'altra in una struttura di dati chiamata a DynamicFrame, che è un'estensione di Apache Spark SQL. DataFrame DynamicFrame contiene i tuoi dati e il suo schema di riferimento per elaborare i dati.

La maggior parte di queste trasformazioni esiste anche come metodi della classe DynamicFrame. Per ulteriori informazioni, consulta DynamicFrame trasformazioni.

Trasformazioni di integrazione dei dati

Per AWS Glue 4.0 e versioni successive, crea o aggiorna gli argomenti del lavoro conkey: --enable-glue-di-transforms, value: true.

Esempio di script di lavoro:

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

Sessioni di esempio con notebook

%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

Sessioni di esempio utilizzando AWS CLI

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

Trasformazioni DI:

Maven: raggruppa il plugin con le tue applicazioni Spark

Puoi raggruppare la dipendenza transforms con le tue applicazioni Spark e le distribuzioni Spark (versione 3.3) aggiungendo la dipendenza dal plugin in Maven mentre sviluppi le tue applicazioni Spark localmente. pom.xml

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

In alternativa, puoi scaricare i file binari direttamente dagli artefatti di AWS Glue Maven e includerli nella tua applicazione Spark come segue.

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