File data untuk kueri di Amazon Redshift Spectrum - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, 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 umumnya jenis file yang sama yang Anda gunakan untuk aplikasi lain. Misalnya, jenis file yang sama digunakan dengan Amazon Athena, Amazon EMR, dan. QuickSight 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 kluster Anda.

Bucket Amazon S3 dengan file data dan cluster Amazon Redshift harus berada di Wilayah yang sama. AWS Untuk informasi tentang AWS Wilayah yang didukung, lihatWilayah Spektrum Pergeseran Merah Amazon.

Format data untuk Redshift Spectrum

Redshift Spectrum mendukung format data terstruktur dan semi-terstruktur berikut.

Format file Kolumnar Mendukung pembacaan paralel Satuan terpisah
Parquet Ya Ya Grup baris
ORC Ya Ya Stripe
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 sebagai lawan dari yang berorientasi baris.

  • Mendukung pembacaan paralel - Apakah format file mendukung membaca blok individu dalam file. Membaca blok individual memungkinkan pemrosesan terdistribusi file di beberapa permintaan Redshift Spectrum independen alih-alih harus membaca file lengkap dalam satu permintaan.

  • Split unit — Untuk format file yang dapat dibaca secara paralel, unit split adalah potongan data terkecil yang dapat diproses oleh satu permintaan Redshift Spectrum.

catatan

Nilai stempel waktu dalam file teks harus dalam formatyyyy-MM-dd HH:mm:ss.SSSSSS, seperti yang ditunjukkan oleh 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 untuk 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 Bacaan Paralel
Gzip .gz Tidak
Bzip2 .bz2 Ya
Tajam .tajam Tidak

Anda dapat menerapkan kompresi pada level yang berbeda. Paling umum, Anda mengompres seluruh file atau mengompres blok individual dalam file. Mengompresi format kolumnar 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 split individu dalam file dikompresi menggunakan algoritma kompresi yang dapat dibaca secara paralel, karena setiap unit split diproses oleh permintaan Redshift Spectrum tunggal. Contoh dari ini adalah file Parket terkompresi Snappy-. Grup baris individu dalam file Parket 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 individual dari Amazon S3.

Enkripsi untuk Redshift Spectrum

Redshift Spectrum secara transparan mendekripsi file data yang dienkripsi menggunakan opsi enkripsi berikut:

  • Enkripsi sisi server (SSE-S3) menggunakan kunci enkripsi AES-256 yang dikelola oleh Amazon S3.

  • Enkripsi sisi server 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 Melindungi Data Menggunakan Enkripsi Sisi Server di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Amazon Redshift menggunakan massively parallel processing (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 atau kompresi file 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.