Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS Glue menyediakan transformasi bawaan berikut yang dapat Anda gunakan dalam PySpark ETL operasi. Data Anda berpindah dari transformasi ke transformasi dalam struktur data yang disebut a DynamicFrame, yang merupakan ekstensi ke Apache Spark SQLDataFrame
. DynamicFrame
tersebut berisi data Anda, dan Anda me-referensi skemanya untuk memproses data Anda.
Sebagian besar transformasi ini juga ada sebagai metode DynamicFrame
kelas. Untuk informasi lebih lanjut, lihat DynamicFrame transformasi.
Integrasi data berubah
Untuk AWS Glue 4.0 dan di atasnya, buat atau perbarui argumen pekerjaan dengankey: --enable-glue-di-transforms, value: true
.
Contoh skrip pekerjaan:
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
Contoh Sesi menggunakan 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
Contoh Sesi menggunakan AWS CLI
aws glue create-session --default-arguments "--enable-glue-di-transforms=true"
DI mengubah:
Maven: Bundel plugin dengan aplikasi Spark Anda
Anda dapat menggabungkan dependensi transformasi dengan aplikasi Spark dan distribusi Spark Anda (versi 3.3) dengan menambahkan ketergantungan plugin di pom.xml
Maven Anda sambil mengembangkan aplikasi Spark Anda secara lokal.
<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>
Anda dapat mengunduh binari dari artefak AWS Glue Maven secara langsung dan memasukkannya ke dalam aplikasi Spark Anda sebagai berikut.
#!/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/