AWS Glue PySpark transforma la referencia - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS Glue PySpark transforma la referencia

AWS Glue proporciona las siguientes transformaciones integradas que puede utilizar en las operaciones de PySpark ETL. Los datos pasan de una transformación a otra en una estructura de datos denominada a DynamicFrame, que es una extensión de un Apache Spark SQLDataFrame. DynamicFrame contiene sus datos y usted hace referencia a su esquema para procesar los datos.

La mayoría de estas transformaciones también existen como métodos de la clase DynamicFrame. Para obtener más información, consulte DynamicFrame transformaciones.

Transformaciones de integración de datos

Para AWS Glue 4.0 y versiones posteriores, cree o actualice argumentos de trabajo conkey: --enable-glue-di-transforms, value: true.

Ejemplo de script de trabajo:

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

Ejemplos de sesiones con cuadernos

%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

Ejemplos de sesiones utilizando AWS CLI

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

Transformaciones DI:

Maven: combina el plugin con tus aplicaciones de Spark

Puedes agrupar la dependencia de las transformaciones con tus aplicaciones y distribuciones de Spark (versión 3.3) añadiendo la dependencia del plugin en tu Maven pom.xml y desarrollando tus aplicaciones de Spark de forma 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>

También puedes descargar directamente los binarios de los artefactos de AWS Glue Maven e incluirlos en tu aplicación Spark de la siguiente manera.

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