Kueri data di tempat dengan 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.

Kueri data di tempat dengan Amazon S3 Select

penting

Amazon S3 Select tidak lagi tersedia untuk pelanggan baru. Pelanggan Amazon S3 Select yang sudah ada dapat terus menggunakan fitur seperti biasa. Pelajari selengkapnya

Dengan Amazon S3 Select, Anda dapat menggunakan pernyataan bahasa kueri terstruktur (SQL) untuk memfilter konten objek Amazon S3 dan hanya mengambil 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 diCSV,JSON, atau Apache Parquet format. Ia juga bekerja dengan objek yang dikompresi dengan GZIP atau BZIP2 (untuk CSV dan JSON objek saja), dan objek terenkripsi sisi server. Anda dapat menentukan format hasil sebagai salah satu CSV atauJSON, dan Anda dapat menentukan bagaimana catatan dalam hasil dibatasi.

Anda meneruskan SQL ekspresi ke Amazon S3 dalam permintaan. Amazon S3 Select mendukung subset dari. SQL Untuk informasi selengkapnya tentang SQL elemen yang didukung oleh Amazon S3 Select, lihat. SQLreferensi untuk Amazon S3 Select

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

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 kueri dienkripsi dengan enkripsi sisi server dengan kunci yang disediakan pelanggan (SSE-C), Anda harus menggunakanhttps, dan Anda harus memberikan kunci enkripsi dalam permintaan.

Batasan berikut berlaku saat menggunakan Amazon S3 Select:

  • S3 Select hanya dapat menanyakan satu objek per permintaan.

  • Panjang maksimum SQL ekspresi adalah 256 KB.

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

  • Amazon S3 Select hanya dapat memancarkan data bersarang dengan menggunakan 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 Memahami dan mengelola kelas penyimpanan Amazon S3.

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

  • Amazon S3 Select hanya mendukung kompresi kolumnar menggunakan atau GZIP Snappy. Amazon S3 Select tidak mendukung kompresi seluruh objek Parquet objek.

  • Amazon S3 Select tidak mendukung Parquet keluaran. Anda harus menentukan format output sebagai CSV atauJSON.

  • 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 menyertakan SQL ekspresi yang digunakan Amazon S3 untuk memfilter permintaan.

Untuk informasi selengkapnya tentang membuat permintaan Amazon S3 Select, lihat SelectObjectContentdi APIReferensi Layanan Penyimpanan Sederhana Amazon. Anda juga dapat melihat salah satu contoh SDK kode 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. Misalnya, berikut ini menunjukkan objek Amazon S3 yang berisi serangkaian catatan dalam format yang dibatasi barisCSV:

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 pemindaian Parquet, CSV (tanpa pembatas yang dikutip), atau JSON objek (hanya dalam LINES mode). CSVdan JSON objek harus tidak dikompresi. Untuk berbasis baris CSV dan JSON objek, ketika rentang pemindaian ditentukan sebagai bagian dari permintaan Amazon S3 Select, semua catatan yang dimulai dalam rentang pemindaian akan diproses. Untuk Parquet objek, semua grup baris yang dimulai dalam rentang pemindaian yang diminta diproses.

Permintaan rentang pemindaian Amazon S3 Select tersedia untuk digunakan dengan, Amazon API S3 AWS CLI, dan. AWS SDKs Anda dapat menggunakan parameter ScanRange di dalam permintaan Amazon S3 Select untuk fitur ini. Untuk informasi selengkapnya, silakan lihat SelectObjectContentdi APIReferensi Layanan Penyimpanan Sederhana Amazon.

Kesalahan

Amazon S3 Select akan menampilkan kode kesalahan dan pesan kesalahan terkait saat ditemukannya masalah ketika suatu kueri sedang dijalankan. Untuk daftar kode kesalahan dan deskripsi, lihat bagian Daftar Kode Kesalahan Konten SELECT Objek pada halaman Respons Kesalahan di APIReferensi Layanan Penyimpanan Sederhana Amazon.

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