AWS Glue PySpark 変換リファレンス - AWS Glue

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Glue PySpark 変換リファレンス

AWS Glue には、 PySpark ETL オペレーションで使用できる以下の組み込み変換が用意されています。データは、Apache Spark SQL への拡張である と呼ばれるデータ構造でDynamicFrame変換から変換に渡されますDataFrameDynamicFrame にはデータが含まれており、データを処理するためにそのスキーマを参照します。

これらの変換のほとんどは、DynamicFrame クラスのメソッドとしても存在します。詳細については、「 DynamicFrame 変換」を参照してください。

データ統合変換

AWS Glue 4.0 以降では、 を使用してジョブ引数を作成または更新しますkey: --enable-glue-di-transforms, value: 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

ノートブックを使用したセッションの例

%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

を使用したセッションの例 AWS CLI

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

DI 変換:

Maven: プラグインを Spark アプリケーションにバンドルする

Spark アプリケーションをローカルで開発pom.xmlしながら Maven にプラグインの依存関係を追加することで、変換の依存関係を Spark アプリケーションと Spark ディストリビューション (バージョン 3.3) にバンドルできます。

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

別の方法として、次のように AWS Glue Maven アーティファクトから直接バイナリをダウンロードし、Spark アプリケーションに含めることもできます。

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