AWS Glue PySpark transforma a referência - AWS Glue

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Glue PySpark transforma a referência

AWS O Glue fornece as seguintes transformações integradas que você pode usar em operações de PySpark ETL. Seus dados passam de transformação em transformação em uma estrutura de dados chamada a DynamicFrame, que é uma extensão de um Apache Spark SQL. DataFrame O DynamicFrame contém os dados, e você referencia o esquema para processar os dados.

A maioria dessas transformações também existe como métodos da classe DynamicFrame. Para obter mais informações, consulte DynamicFrame transformações.

A integração de dados se transforma

Para o AWS Glue 4.0 e versões posteriores, crie ou atualize argumentos de trabalho comkey: --enable-glue-di-transforms, value: true.

Exemplo de script de trabalho:

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

Exemplo de sessões usando notebooks

%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

Exemplo de sessões usando AWS CLI

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

A DI transforma:

Maven: agrupe o plug-in com seus aplicativos Spark

Você pode agrupar a dependência de transformações com seus aplicativos Spark e distribuições Spark (versão 3.3) adicionando a dependência de plug-in em seu pom.xml Maven enquanto desenvolve seus aplicativos Spark localmente.

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

Como alternativa, você pode baixar os binários diretamente dos artefatos do AWS Glue Maven e incluí-los em seu aplicativo Spark da seguinte maneira.

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