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/