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 batasan berikut saat Anda menjalankan Presto di Amazon EMR.

Perintah baris eksekusi Presto

Di Amazon EMR, PrestoDB dan Trino keduanya menggunakan baris perintah yang sama yang dapat dieksekusi,, seperti pada contoh berikut. presto-cli

presto-cli --catalog hive

Properti penyebaran Presto yang tidak dapat dikonfigurasi

Versi Amazon EMR yang Anda gunakan menentukan konfigurasi penerapan Presto yang tersedia. Untuk informasi selengkapnya tentang properti konfigurasi ini, lihat Menerapkan Presto di dokumentasi Presto. Tabel berikut menunjukkan opsi konfigurasi yang berbeda untuk properties file Presto.

Berkas Dapat dikonfigurasi

log.properties

PrestODB: Dapat dikonfigurasi di Amazon EMR versi 4.0.0 dan yang lebih baru. Gunakan klasifikasi konfigurasi presto-log.

Trino (PrestosQL): Dapat dikonfigurasi di Amazon EMR versi 6.1.0 dan yang lebih baru. Gunakan klasifikasi prestosql-log atau trino-log konfigurasi.

config.properties

PrestODB: Dapat dikonfigurasi di Amazon EMR versi 4.0.0 dan yang lebih baru. Gunakan klasifikasi konfigurasi presto-config.

Trino (PrestosQL): Dapat dikonfigurasi di Amazon EMR versi 6.1.0 dan yang lebih baru. Gunakan klasifikasi prestosql-config atau trino-config konfigurasi.

hive.properties

PrestODB: Dapat dikonfigurasi di Amazon EMR versi 4.1.0 dan yang lebih baru. Gunakan klasifikasi konfigurasi presto-connector-hive.

Trino (PrestosQL): Dapat dikonfigurasi di Amazon EMR versi 6.1.0 dan yang lebih baru. Gunakan klasifikasi prestosql-connector-hive atau trino-connector-hive konfigurasi.

node.properties

PrestODB: Dapat dikonfigurasi di Amazon EMR versi 5.6.0 dan yang lebih baru. Gunakan klasifikasi konfigurasi presto-node.

Trino (PrestosQL): Dapat dikonfigurasi di Amazon EMR versi 6.1.0 dan yang lebih baru. Gunakan klasifikasi prestosql-node atau trino-node konfigurasi.

jvm.config

Tidak dapat dikonfigurasi.

Instalasi prestoDB dan Trino

Nama aplikasi Presto terus digunakan untuk menginstal PrestoDB pada cluster. Untuk menginstal Trino di cluster, 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 cluster. Jika Anda menentukan PrestoDB dan Trino saat Anda mencoba membuat klaster, kesalahan validasi terjadi dan permintaan pembuatan klaster gagal.

Konfigurasi EMRFS dan PrestOS3 FileSystem

Dengan Amazon EMR versi 5.12.0 dan yang lebih baru, PrestoDB dapat menggunakan EMRFS. Ini adalah konfigurasi default. EMRFS juga merupakan sistem file default untuk Trino (PrestosQL) di Amazon EMR versi 6.1.0 dan yang lebih baru. Untuk informasi selengkapnya, lihat Sistem File EMR (EMRFS) di Panduan Manajemen EMR Amazon. Dengan versi Amazon EMR sebelumnya, PrestOS3 FileSystem 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 menanyakan data yang mendasarinya 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 solusinya, buat emrfs subdirektori di bawah usr/lib/presto/plugin/hive-hadoop2/ dan buat symlink ke file yang adausr/lib/presto/plugin/hive-hadoop2/emrfs. /usr/share/aws/emr/emrfs/conf/emrfs-site.xml Kemudian restart proses presto-server (sudo presto-server stopdiikuti oleh). sudo presto-server start

Anda dapat mengganti default EMRFS dan menggunakan PrestOS3 sebagai gantinya. FileSystem 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 klasifikasi presto-connector-hive konfigurasi atau trino-connector-hive untuk Trino untuk mengkonfigurasi properti PrestOS3. FileSystem Untuk informasi selengkapnya tentang properti yang tersedia, lihat konfigurasi Amazon S3 di bagian Hive Connector pada dokumentasi Presto. Pengaturan ini tidak berlaku untuk EMRFS.

Pengaturan default untuk peniruan pengguna akhir

Secara default, Amazon EMR versi 5.12.0 dan yang lebih baru mengaktifkan peniruan identitas pengguna akhir untuk akses ke HDFS. Untuk informasi lebih lanjut, lihat Peniruan nama pengguna akhir dalam dokumentasi Presto. Untuk mengubah pengaturan ini dengan klasifikasi presto-config konfigurasi, atur hive.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 klasifikasi presto-config konfigurasi untuk mengatur http-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 termasuk versi Presto ini. Untuk mengurangi masalah ini, gunakan klasifikasi presto-connector-hive konfigurasi untuk menyetel hive.bucket-execution propertifalse, seperti yang ditunjukkan pada contoh berikut.

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