Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menggunakan S3 Select dengan Hive untuk meningkatkan performa - Amazon EMR

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

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

Menggunakan S3 Select dengan Hive untuk meningkatkan performa

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 rilis Amazon EMR versi 5.18.0 dan yang lebih baru, Anda dapat menggunakan S3 Select dengan Hive di Amazon EMR. S3 Select memungkinkan aplikasi untuk mengambil hanya subset data dari suatu objek. Untuk Amazon EMR, pekerjaan komputasi penyaringan set data besar untuk pengolahan adalah "didorong turun" dari klaster ke Amazon S3, yang dapat meningkatkan performa di beberapa aplikasi dan mengurangi jumlah data yang ditransfer antara Amazon EMR dan Amazon S3.

S3 Select didukung dengan tabel Hive berdasarkan file CSV dan JSON dan dengan menetapkan s3select.filter variabel konfigurasi ke true selama sesi Hive Anda. Untuk informasi selengkapnya dan contoh tambahan, lihat Menentukan S3 Select dalam kode Anda.

Apakah S3 Select tepat untuk aplikasi saya?

Kami menyarankan Anda membuat tolok ukur aplikasi dengan dan tanpa S3 Select untuk melihat apakah cocok dengan aplikasi Anda.

Gunakan pedoman berikut untuk menentukan apakah aplikasi Anda adalah kandidat untuk menggunakan S3 Select:

  • Permintaan Anda menyaring lebih dari setengah set data asli.

  • Predikat filter kueri permintaan Anda menggunakan kolom yang memiliki tipe data yang didukung oleh Amazon S3 Select. Untuk informasi selengkapnya, lihat Jenis data di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

  • Koneksi jaringan Anda antara Amazon S3 dan klaster Amazon EMR memiliki kecepatan transfer yang baik dan bandwidth yang tersedia. Amazon S3 tidak memampatkan tanggapan HTTP, sehingga ukuran respon kemungkinan akan meningkatkan file input terkompresi.

Pertimbangan dan batasan

  • Enkripsi sisi server Amazon S3 dengan kunci enkripsi yang disediakan pelanggan (SSE-C) dan enkripsi di sisi klien tidak didukung.

  • Properti AllowQuotedRecordDelimiters tidak didukung. Jika properti ini ditentukan, kueri akan gagal.

  • Hanya file CSV dan JSON dalam format UTF-8 yang didukung. Multi-line CSVs dan JSON tidak didukung.

  • Hanya file yang tidak terkompresi atau gzip atau bzip2 yang didukung.

  • Karakter komentar di baris terakhir tidak didukung.

  • Baris kosong di akhir file tidak diproses.

  • Hive di Amazon EMR mendukung tipe data primitif yang didukung S3 Select. Untuk informasi selengkapnya, lihat Jenis data di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Menentukan S3 Select dalam kode Anda

Untuk menggunakan S3 Select dalam tabel Hive Anda, buat tabel dengan menentukan com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat sebagai INPUTFORMAT nama kelas, dan tenntukan nilai untuk s3select.format properti menggunakan TBLPROPERTIES klausul.

Secara default, S3 Select dinonaktifkan saat Anda menjalankan kueri. Aktifkan S3 Select dengan mengatur s3select.filter ke true di sesi Hive Anda seperti yang ditunjukkan di bawah ini. Contoh di bawah ini menunjukkan bagaimana menentukan S3 Select saat membuat tabel dari CSV yang mendasari dan file JSON dan kemudian mengkueri tabel menggunakan pernyataan pilihan sederhana.

contoh Pernyataan BUAT TABEL untuk tabel berbasis CSV
CREATE TABLE mys3selecttable ( col1 string, col2 int, col3 boolean ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS INPUTFORMAT 'com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://path/to/mycsvfile/' TBLPROPERTIES ( "s3select.format" = "csv", "s3select.headerInfo" = "ignore" );
contoh Pernyataan BUAT TABEL untuk tabel berbasis JSON
CREATE TABLE mys3selecttable ( col1 string, col2 int, col3 boolean ) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS INPUTFORMAT 'com.amazonaws.emr.s3select.hive.S3SelectableTextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://path/to/json/' TBLPROPERTIES ( "s3select.format" = "json" );
contoh Pernyataan PILIH TABEL
SET s3select.filter=true; SELECT * FROM mys3selecttable WHERE col2 > 10;
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.