Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
File data untuk kueri di Amazon Redshift Spectrum
Bagian ini menjelaskan cara membuat file data di Amazon S3 dalam format yang didukung Redshift Spectrum.
File data yang Anda gunakan untuk kueri di Amazon Redshift Spectrum biasanya merupakan jenis file yang sama dengan yang Anda gunakan untuk aplikasi lain. Misalnya, jenis file yang sama digunakan dengan Amazon Athena, Amazon EMR, dan Quick. Anda dapat menanyakan data dalam format aslinya langsung dari Amazon S3. Untuk melakukan ini, file data harus dalam format yang didukung Redshift Spectrum dan ditempatkan di bucket Amazon S3 yang dapat diakses oleh cluster Anda.
Bucket Amazon S3 dengan file data dan cluster Amazon Redshift harus berada di Wilayah yang sama AWS . Untuk informasi tentang Wil AWS ayah yang didukung, lihatWilayah Spektrum Pergeseran Merah Amazon.
Format data untuk Redshift Spectrum
Redshift Spectrum mendukung format data terstruktur dan semi-terstruktur berikut.
| Format file | Berkolom | Mendukung pembacaan paralel | Unit terpisah |
|---|---|---|---|
| Parquet | Ya | Ya | Grup baris |
| ORC | Ya | Ya | Garis |
| RCFile | Ya | Ya | Grup baris |
| TextFile | Tidak | Ya | Baris |
| SequenceFile | Tidak | Ya | Baris atau blok |
| RegexSerde | Tidak | Ya | Baris |
| OpenCSV | Tidak | Ya | Baris |
| AVRO | Tidak | Ya | Blokir |
| Ion | Tidak | Tidak | N/A |
| JSON | Tidak | Tidak | N/A |
Pada tabel sebelumnya, judul menunjukkan yang berikut:
-
Columnar — Apakah format file secara fisik menyimpan data dalam struktur berorientasi kolom dibandingkan dengan yang berorientasi baris.
-
Mendukung pembacaan paralel - Apakah format file mendukung membaca blok individual dalam file. Membaca blok individual memungkinkan pemrosesan file yang terdistribusi di beberapa permintaan Redshift Spectrum independen alih-alih harus membaca file lengkap dalam satu permintaan.
-
Unit terpisah — Untuk format file yang dapat dibaca secara paralel, unit split adalah potongan data terkecil yang dapat diproses oleh permintaan Spektrum Redshift tunggal.
catatan
Nilai stempel waktu dalam file teks harus dalam formatyyyy-MM-dd HH:mm:ss.SSSSSS, seperti yang ditunjukkan nilai stempel waktu berikut:. 2017-05-01 11:30:59.000000
Sebaiknya gunakan format file penyimpanan kolumnar, seperti Apache Parquet. Amazon Redshift mendukung format file data Apache Parquet v1. Dengan format file penyimpanan kolumnar, Anda dapat meminimalkan transfer data dari Amazon S3 dengan memilih hanya kolom yang Anda butuhkan.
Jenis kompresi untuk Redshift Spectrum
Untuk mengurangi ruang penyimpanan, meningkatkan kinerja, dan meminimalkan biaya, kami sangat menyarankan Anda mengompres file data Anda. Redshift Spectrum mengenali jenis kompresi file berdasarkan ekstensi file.
Redshift Spectrum mendukung jenis dan ekstensi kompresi berikut.
| Algoritma Kompresi | Ekstensi File | Mendukung Pembacaan Paralel |
|---|---|---|
| Gzip | .gz | Tidak |
| Bzip 2 | .bz2 | Ya |
| Snappy | .lincah | Tidak |
Amazon Redshift juga mendukung kompresi Zstandard (zstd) untuk file Apache Parquet dan tabel Apache Iceberg.
Anda dapat menerapkan kompresi pada tingkat yang berbeda. Paling umum, Anda mengompres seluruh file atau mengompres blok individual dalam file. Mengompresi format kolom pada tingkat file tidak menghasilkan manfaat kinerja.
Agar Redshift Spectrum dapat membaca file secara paralel, berikut ini harus benar:
-
Format file mendukung pembacaan paralel.
-
Kompresi tingkat file, jika ada, mendukung pembacaan paralel.
Tidak masalah apakah unit terpisah individu dalam file dikompresi menggunakan algoritma kompresi yang dapat dibaca secara paralel, karena setiap unit split diproses oleh satu permintaan Redshift Spectrum. Contohnya adalah file Snappy-compressed parket. Grup baris individu dalam file Parquet dikompresi menggunakan Snappy, tetapi struktur tingkat atas file tetap tidak terkompresi. Dalam hal ini, file dapat dibaca secara paralel karena setiap permintaan Redshift Spectrum dapat membaca dan memproses grup baris individu dari Amazon S3.
Enkripsi untuk Redshift Spectrum
Redshift Spectrum secara transparan mendekripsi file data yang dienkripsi menggunakan opsi enkripsi berikut:
-
Server-side enkripsi (SSE-S3) menggunakan kunci AES-256 enkripsi yang dikelola oleh Amazon S3.
-
Server-side enkripsi dengan kunci yang dikelola oleh AWS Key Management Service (SSE-KMS).
Redshift Spectrum tidak mendukung enkripsi sisi klien Amazon S3. Untuk informasi selengkapnya tentang enkripsi sisi server, lihat Mel indungi Data Menggunakan Server-Side Enkripsi di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Amazon Redshift menggunakan pemrosesan paralel massif (MPP) untuk mencapai eksekusi cepat dari kueri kompleks yang beroperasi pada sejumlah besar data. Redshift Spectrum memperluas prinsip yang sama untuk menanyakan data eksternal, menggunakan beberapa instance Redshift Spectrum sesuai kebutuhan untuk memindai file. Tempatkan file dalam folder terpisah untuk setiap tabel.
Anda dapat mengoptimalkan data Anda untuk pemrosesan paralel dengan melakukan hal berikut:
-
Jika format file atau kompresi Anda tidak mendukung pembacaan secara paralel, pecahkan file besar menjadi banyak file yang lebih kecil. Sebaiknya gunakan ukuran file antara 64 MB dan 1 GB.
-
Simpan semua file dengan ukuran yang sama. Jika beberapa file jauh lebih besar dari yang lain, Redshift Spectrum tidak dapat mendistribusikan beban kerja secara merata.