Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan format Parket di AWS Glue
AWSGlue mengambil data dari sumber dan menulis data ke target yang disimpan dan diangkut dalam berbagai format data. Jika data Anda disimpan atau diangkut dalam format data Parket, dokumen ini memperkenalkan fitur yang tersedia untuk menggunakan data Anda di Glue. AWS
AWSGlue mendukung menggunakan format Parket. Format ini adalah format data berbasis kolom yang berorientasi kinerja. Untuk pengenalan format oleh otoritas standar lihat, Apache Parquet Documentation
Anda dapat menggunakan AWS Glue untuk membaca file Parket dari Amazon S3 dan dari sumber streaming serta menulis file Parket ke Amazon S3. Anda dapat membaca dan menulis bzip
dan gzip
mengarsipkan yang berisi file Parket dari S3. Anda mengonfigurasi perilaku kompresi pada Parameter koneksi S3 alih-alih dalam konfigurasi yang dibahas di halaman ini.
Tabel berikut menunjukkan fitur AWS Glue umum mana yang mendukung opsi format Parket.
Baca | Tulis | Streaming dibaca | Kelompokkan file kecil | Bookmark tugas |
---|---|---|---|---|
Didukung | Didukung | Didukung | Tidak didukung | Didukung * |
* Didukung dalam AWS Glue versi 1.0+
Contoh: Baca file atau folder Parket dari S3
Prasyarat: Anda akan memerlukan jalur S3 (s3path
) ke file atau folder Parket yang ingin Anda baca.
Konfigurasi: Dalam opsi fungsi Anda, tentukanformat="parquet"
. Dalam Andaconnection_options
, gunakan paths
kunci untuk menentukan Andas3path
.
Anda dapat mengonfigurasi bagaimana pembaca berinteraksi dengan S3 di file. connection_options
Untuk detailnya, lihat Jenis dan opsi koneksi untuk ETL di AWS Glue:Parameter koneksi S3.
Anda dapat mengonfigurasi bagaimana pembaca menafsirkan file Parket di file Anda. format_options
Untuk detailnya, lihat Referensi Konfigurasi Parket.
Skrip AWS Glue ETL berikut menunjukkan proses membaca file Parket atau folder dari S3:
Contoh: Tulis file dan folder Parket ke S3
Prasyarat: Anda akan memerlukan initialized DataFrame () atau ()dataFrame
. DynamicFrame dynamicFrame
Anda juga akan membutuhkan jalur output S3 yang Anda harapkan,s3path
.
Konfigurasi: Dalam opsi fungsi Anda, tentukanformat="parquet"
. Dalam Andaconnection_options
, gunakan paths
kunci untuk menentukans3path
.
Anda selanjutnya dapat mengubah cara penulis berinteraksi dengan S3 di. connection_options
Untuk detailnya, lihat Jenis dan opsi koneksi untuk ETL di AWS Glue:Parameter koneksi S3. Anda dapat mengonfigurasi bagaimana operasi Anda menulis konten file Andaformat_options
. Untuk detailnya, lihat Referensi Konfigurasi Parket.
Skrip AWS Glue ETL berikut menunjukkan proses penulisan file dan folder Parket ke S3.
Kami menyediakan penulis Parket khusus dengan pengoptimalan kinerja untuk DynamicFrames, melalui kunci konfigurasi. useGlueParquetWriter
Untuk menentukan apakah penulis ini tepat untuk beban kerja Anda, lihat Glue Parquet Writer.
Referensi konfigurasi parket
Anda dapat menggunakan yang berikut ini di format_options
mana pun pustaka AWS Glue menentukanformat="parquet"
:
-
useGlueParquetWriter
— Menentukan penggunaan penulis Parket kustom yang memiliki optimasi kinerja untuk alur kerja. DynamicFrame Untuk detail penggunaan, lihat Glue Parquet Writer.-
Jenis: Boolean, Default:
false
-
-
compression
- Menentukan codec kompresi yang digunakan. Nilai sepenuhnya kompatibel denganorg.apache.parquet.hadoop.metadata.CompressionCodecName
.-
Jenis: Teks Terhitung, Default:
"snappy"
-
Nilai:
"uncompressed"
,"snappy"
,"gzip"
, dan"lzo"
-
-
blockSize
- Menentukan ukuran dalam byte dari kelompok baris yang disangga dalam memori. Anda menggunakan ini untuk tuning kinerja. Ukuran harus dibagi persis menjadi sejumlah megabyte.-
Jenis: Numerik, Default:
134217728
-
Nilai defaultnya sama dengan 128 MB.
-
-
pageSize
- Menentukan ukuran dalam byte halaman. Anda menggunakan ini untuk tuning kinerja. Halaman adalah unit terkecil yang harus dibaca sepenuhnya untuk mengakses satu catatan.-
Jenis: Numerik, Default:
1048576
-
Nilai defaultnya sama dengan 1 MB.
-
catatan
Selain itu, opsi apa pun yang diterima oleh kode SparkSQL yang mendasarinya dapat diteruskan ke format ini melalui parameter peta. connection_options
Misalnya, Anda dapat mengatur konfigurasi Spark seperti MergeSchema
Optimalkan kinerja menulis dengan AWS Glue Parquet writer
catatan
Penulis AWS Glue Parquet secara historis telah diakses melalui jenis glueparquet
format. Pola akses ini tidak lagi dianjurkan. Sebagai gantinya, gunakan parquet
tipe dengan useGlueParquetWriter
diaktifkan.
Penulis AWS Glue Parquet memiliki peningkatan kinerja yang memungkinkan penulisan file Parket lebih cepat. Penulis tradisional menghitung skema sebelum menulis. Format Parket tidak menyimpan skema dengan cara yang dapat diambil dengan cepat, jadi ini mungkin memakan waktu. Dengan penulis AWS Glue Parquet, skema pra-komputasi tidak diperlukan. Penulis menghitung dan memodifikasi skema secara dinamis, saat data masuk.
Perhatikan batasan berikut saat Anda menentukanuseGlueParquetWriter
:
-
Penulis hanya mendukung evolusi skema (seperti menambahkan atau menghapus kolom), tetapi tidak mengubah jenis kolom, seperti dengan
ResolveChoice
. -
Penulis tidak mendukung penulisan kosong DataFrames —misalnya, untuk menulis file khusus skema. Saat mengintegrasikan dengan Katalog Data AWS Glue dengan pengaturan
enableUpdateCatalog=True
, mencoba menulis kosong tidak DataFrame akan memperbarui Katalog Data. Ini akan menghasilkan pembuatan tabel di Katalog Data tanpa skema.
Jika transformasi Anda tidak memerlukan batasan ini, menyalakan penulis AWS Glue Parquet akan meningkatkan kinerja.