Menyaring dan mengambil data menggunakan Amazon S3 Select - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyaring dan mengambil data menggunakan Amazon S3 Select

Dengan Amazon S3 Select, Anda dapat menggunakan pernyataan bahasa kueri terstruktur (SQL) untuk memfilter konten objek Amazon S3 dan mengambil hanya subset data yang Anda butuhkan. Dengan menggunakan Amazon S3 Select untuk memfilter data ini, Anda dapat mengurangi jumlah data yang ditransfer oleh Amazon S3, sehingga mengurangi biaya dan latensi untuk pengambilan data ini.

Amazon S3 Select hanya memungkinkan Anda untuk menanyakan satu objek pada satu waktu. Ia bekerja pada objek yang disimpan dalam CSV, JSON, atau Apache Parquet format. Ia juga bekerja dengan objek yang dikompresi dengan GZIP atau BZIP2 (hanya untuk objek CSV dan JSON), dan objek terenkripsi sisi server. Anda dapat menentukan format hasil sebagai CSV atau JSON, dan Anda dapat menentukan pembatasan untuk catatan di dalam hasilnya.

Anda dapat mengajukan pemindahan ekspresi SQL ke Amazon S3. Amazon S3 Select mendukung squbset SQL. Untuk informasi selengkapnya tentang elemen SQL yang didukung oleh Amazon S3 Select, lihat Referensi SQL untuk Amazon S3 Select.

Anda dapat melakukan kueri SQL dengan menggunakan konsol Amazon S3,AWS CLI(), AWS Command Line Interface operasi REST API, SelectObjectContent atau SDK. AWS

catatan

Konsol Amazon S3 membatasi jumlah data yang ditampilkan hingga 40 MB. Untuk mengambil lebih banyak data, gunakan AWS CLI atau API.

Persyaratan dan batasan

Berikut adalah persyaratan untuk menggunakan Amazon S3 Select:

  • Anda harus memiliki izin s3:GetObject untuk objek yang Anda minta.

  • Jika objek yang Anda tanyakan dienkripsi dengan enkripsi di sisi server dengan kunci yang disediakan pelanggan (SSE-C), Anda harus menggunakan https, dan Anda harus menyediakan kunci enkripsi saat pengajuan.

Batasan berikut berlaku saat menggunakan Amazon S3 Select:

  • S3 Select dapat query hanya satu objek per permintaan.

  • Panjang maksimum ekspresi SQL adalah 256 KB.

  • Panjang maksimum catatan dalam input atau hasil adalah 1 MB.

  • Amazon S3 Select hanya dapat mengeluarkan data yang disimpan dengan format output JSON.

  • Anda tidak dapat menanyakan objek yang disimpan di kelas penyimpanan S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, atau Reduced Redundancy Storage (RRS). Anda juga tidak dapat menanyakan objek yang disimpan di tingkat Akses Arsip Tingkat Cerdas S3 atau tingkat Akses Arsip Dalam Tingkat Cerdas S3. Untuk informasi selengkapnya tentang kelas penyimpanan, lihat Menggunakan kelas penyimpanan Amazon S3.

Batasan tambahan berlaku saat menggunakan Amazon S3 Select dengan Parquet objek:

  • Amazon S3 Select hanya mendukung kompresi berbentuk kolom yang menggunakan GZIP atau Snappy. Amazon S3 Select tidak mendukung kompresi seluruh objek untuk objek. Parquet

  • Amazon S3 Select tidak mendukung output Parquet. Anda harus menentukan format output sebagai CSV atau JSON.

  • Ukuran maksimum untuk grup baris yang tidak dikompres adalah 512 MB.

  • Anda harus menggunakan jenis data yang ditentukan di dalam skema objek.

  • Pemilihan pada bidang berulang hanya akan menampilkan nilai terakhir.

Membuat permintaan

Saat Anda membuat sebuah permintaan, Anda harus menyediakan perincian objek yang sedang diminta dengan menggunakan objek InputSerialization. Anda dapat menyediakan perincian tentang cara menampilkan hasil dengan menggunakan objek OutputSerialization. Anda juga dapat menyertakan ekspresi SQL yang digunakan oleh Amazon S3 untuk memfilter permintaan.

Untuk informasi lebih lanjut tentang pembuatan permintaan Amazon S3 Select, lihat SelectObjectContent di Referensi API Amazon Simple Storage Service. Anda juga dapat melihat salah satu contoh kode SDK di bagian berikut.

Permintaan yang menggunakan rentang pemindaian

Dengan Amazon S3 Select, Anda dapat memindai subset sebuah objek dengan menentukan rentang byte ke kueri. Kemampuan ini memungkinkan Anda melakukan pemindaian pada keseluruhan objek secara paralel dengan membagi pekerjaan menjadi beberapa permintaan Amazon S3 Select yang terpisah untuk serangkaian rentang pemindaian non-tumpang tindih.

Rentang pemindaian tidak perlu diselaraskan dengan batasan catatan. Permintaan rentang pemindaian Amazon S3 Select dijalankan di seluruh rentang byte yang Anda tentukan. Catatan yang dimulai dengan rentang pemindaian yang ditentukan tetapi melampaui rentang pemindaian tersebut akan diproses oleh kueri. Contoh berikut menampilkan objek Amazon S3 yang berisi serangkaian catatan dengan format CSV yang dibatasi baris:

A,B C,D D,E E,F G,H I,J

Misalkan Anda menggunakan parameter ScanRange Amazon S3 Select dan Start pada (Byte) 1 dan End pada (Byte) 4. Jadi, rentang pemindaian akan diawali di "," dan pemindaian dilakukan hingga akhir catatan yang dimulai di C. Permintaan rentang pemindaian Anda akan menampilkan hasil C, D karena hasil tersebut adalah akhir catatannya.

Amazon S3 Pilih dukungan permintaan rentang pemindaianParquet, CSV (tanpa pembatas yang dikutip), atau objek JSON (hanya dalam mode). LINES Objek CSV dan JSON harus dalam kondisi tidak dikompres. Untuk objek CSV dan JSON berbasis baris, ketika rentang pemindaian ditentukan sebagai bagian dari permintaan Amazon S3 Select, semua catatan yang dimulai di dalam rentang pemindaian akan diproses. Untuk objek Parquet, semua grup baris yang dimulai di dalam rentang pemindaian yang diminta akan diproses.

Permintaan rentang pemindaian Amazon S3 Select tersedia untuk digunakan dengan AWS CLI, Amazon S3 API, dan SDK. AWS Anda dapat menggunakan parameter ScanRange di dalam permintaan Amazon S3 Select untuk fitur ini. Untuk informasi lebih lanjut, lihat SelectObjectContent di dalam Referensi API Amazon Simple Storage Service.

Kesalahan

Amazon S3 Select akan menampilkan kode kesalahan dan pesan kesalahan terkait saat ditemukannya masalah ketika suatu kueri sedang dijalankan. Untuk daftar kode dan deskripsi kesalahan, lihat bagian Daftar Kode Kesalahan SELECT Object Content dari halaman Respons Kesalahan di dalam Referensi API Amazon Simple Storage Service.

Untuk informasi lebih lanjut tentang Amazon S3 Select, lihat topik-topik berikut.