Pertimbangan dengan Presto on Amazon EMR - Amazon EMR

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

Pertimbangan dengan Presto on Amazon EMR

Pertimbangkan keterbatasan berikut ketika Anda menjalankan Presto di Amazon EMR.

Perintah baris eksekusi Presto

Di Amazon EMR, PrestoDB dan Trino keduanya menggunakan baris perintah yang sama executablepresto-cli, seperti dalam contoh berikut.

presto-cli --catalog hive

Properti penerapan Presto yang tidak dapat dikonfigurasi

Versi Amazon EMR yang Anda gunakan menentukan konfigurasi penerapan Presto yang tersedia. Untuk informasi lebih lanjut tentang properti konfigurasi ini, lihat Penerapan Presto dalam dokumentasi Presto. Tabel berikut menunjukkan pilihan konfigurasi yang berbeda untuk Prestoproperties file.

Berkas Dapat dikonfigurasi

log.properties

PrestoDB: Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR. Gunakan klasifikasi konfigurasi presto-log.

Trino (PrestoSQL): Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR. Gunakan klasifikasiprestosql-log atautrino-log konfigurasi.

config.properties

PrestoDB: Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR. Gunakan klasifikasi konfigurasi presto-config.

Trino (PrestoSQL): Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR. Gunakan klasifikasiprestosql-config atautrino-config konfigurasi.

hive.properties

PrestoDB: Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR. Gunakan klasifikasi konfigurasi presto-connector-hive.

Trino (PrestoSQL): Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR. Gunakan klasifikasiprestosql-connector-hive atautrino-connector-hive konfigurasi.

node.properties

PrestoDB: Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR versi yang lebih tinggi. Gunakan klasifikasi konfigurasi presto-node.

Trino (PrestoSQL): Bisa dikonfigurasi di versi yang lebih tinggi di Amazon EMR. Gunakan klasifikasiprestosql-node atautrino-node konfigurasi.

jvm.config

Tidak dapat dikonfigurasi.

Instalasi PrestoDB dan Trino

Nama aplikasi Presto terus digunakan untuk menginstal PrestoDB pada klaster. Untuk menginstal Trino pada klaster, gunakan nama aplikasi Trino (atau PrestoSQL di versi Amazon EMR yang lebih lama).

Anda dapat menginstal PrestoDB atau Trino, tetapi Anda tidak dapat menginstal keduanya pada satu klaster. Jika Anda menentukan PrestoDB dan Trino ketika Anda mencoba untuk membuat sebuah klaster, maka akan terjadi kesalahan validasi dan permintaan pembuatan klaster gagal.

FileSystem Konfigurasi EMRFS dan Prestos3

Dengan Amazon EMR versi 5.12.0 dan yang lebih baru, PrestoDB dapat menggunakan EMRFS. Ini adalah konfigurasi default. EMRFS juga sistem file default untuk Trino (PrestoSQL) di Amazon EMR versi 6.1.0 dan kemudian. Untuk informasi selengkapnya, lihat Sistem Berkas EMR (EMRFS) di Amazon EMR. Dengan versi Amazon EMR sebelumnya, PrestOS3FileSystem adalah satu-satunya opsi konfigurasi.

Anda dapat menggunakan konfigurasi keamanan untuk mengatur enkripsi untuk data EMRFS di Amazon S3. Anda juga dapat menggunakan peran IAM untuk permintaan EMRFS ke Amazon S3. Untuk informasi lebih lanjut, lihat Memahami opsi enkripsi dan Mengkonfigurasi peran IAM untuk permintaan EMRFS ke Amazon S3 dalam Amazon EMR.

catatan

Jika Anda query data yang mendasari di Amazon S3 dengan Amazon EMR versi 5.12.0, kesalahan Presto dapat terjadi. Hal ini karena Presto gagal untuk mengambil nilai klasifikasi konfigurasi dari emrfs-site.xml. Sebagai solusi, buatemrfs subdirektori di bawahusr/lib/presto/plugin/hive-hadoop2/ dan buat symlinkusr/lib/presto/plugin/hive-hadoop2/emrfs ke/usr/share/aws/emr/emrfs/conf/emrfs-site.xml file yang ada. Kemudian restart proses presto-server (sudo presto-server stopdiikuti olehsudo presto-server start).

Anda dapat mengganti default EMRFS dan menggunakan Prestos3FileSystem sebagai gantinya. Untuk melakukannya, gunakan perintah presto-connector-hive klasifikasi konfigurasi untuk mengatur hive.s3-file-system-type ke PRESTO Seperti yang ditunjukkan dalam contoh berikut. Untuk informasi selengkapnya, lihat Konfigurasikan aplikasi.

[ { "Classification": "presto-connector-hive", "Properties": { "hive.s3-file-system-type": "PRESTO" } } ]

Jika Anda menggunakan PrestOs3FileSystem, gunakan klasifikasipresto-connector-hive konfigurasi atautrino-connector-hive untuk Trino untuk mengkonfigurasiFileSystem properti PrestOs3. Untuk informasi lebih lanjut tentang properti yang tersedia, lihat Konfigurasi Amazon S3 di bagian Konektor Hive dokumentasi Presto. Pengaturan ini tidak berlaku untuk EMRFS.

Pengaturan default untuk peniruan pengguna akhir

Secara default, Amazon EMR versi 5.12.0 dan kemudian memungkinkan peniruan pengguna akhir untuk akses ke HDFS. Untuk informasi lebih lanjut, lihat Peniruan nama pengguna akhir dalam dokumentasi Presto. Untuk mengubah pengaturan ini dengan klasifikasipresto-config konfigurasi, aturhive.hdfs.impersonation.enabled properti kefalse.

Port default untuk antarmuka web Presto

Secara default, Amazon EMR mengkonfigurasi antarmuka web Presto pada koordinator Presto untuk menggunakan port 8889 (untuk PrestoDB dan Trino). Untuk mengubah port, gunakan klasifikasipresto-config konfigurasi untuk mengaturhttp-server.http.port properti. Untuk informasi lebih lanjut, lihat Properti Config dalam Penerapan Presto bagian Dokumentasi Presto.

Masalah dengan eksekusi Hive Bucket dalam beberapa rilis

Presto versi 152.3 memiliki masalah dengan eksekusi bucket Hive yang menyebabkan kinerja kueri Presto yang lebih lambat secara signifikan dalam beberapa kondisi. Amazon EMR versi 5.0.3, 5.1.0, dan 5.2.0 menyertakan versi Presto ini. Untuk mengurangi masalah ini, gunakan klasifikasipresto-connector-hive konfigurasi untuk mengaturhive.bucket-execution properti kefalse, seperti yang ditunjukkan dalam contoh berikut.

[ { "Classification": "presto-connector-hive", "Properties": { "hive.bucket-execution": "false" } } ]