

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

# Presto
<a name="emr-presto"></a>

**penting**  
Presto, versi Trino sebelumnya, masih tersedia untuk digunakan dengan Amazon EMR. Namun, kami sangat menyarankan Trino maju untuk digunakan dengan Amazon EMR. Perhatikan juga bahwa Trino dan Presto tidak dapat berjalan secara bersamaan di cluster yang sama. Untuk informasi lebih lanjut, lihat [Trino](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-trino.html).

[Presto](https://aws.amazon.com/big-data/what-is-presto/) adalah mesin query SQL cepat yang dirancang untuk query analitik interaktif atas dataset besar dari berbagai sumber. Untuk informasi lebih lanjut, lihat situs web [NCCL](https://prestodb.io/). Presto termasuk dalam Amazon EMR rilis 5.0.0 dan yang lebih baru. Rilis sebelumnya termasuk Presto sebagai aplikasi sandbox. Untuk informasi selengkapnya, lihat [Versi rilis Amazon EMR 4.x](emr-release-4x.md). Amazon EMR merilis versi 6.1.0 dan yang lebih baru mendukung [Trino](https://trino.io/) selain Presto. Untuk informasi selengkapnya, lihat [Instalasi PrestODB](emr-presto-considerations.md#emr-prestodb-prestosql).

Tabel berikut mencantumkan versi Presto yang termasuk dalam rilis terbaru seri Amazon EMR 7.x, bersama dengan komponen yang dipasang Amazon EMR dengan Presto.

Untuk versi komponen yang diinstal dengan Presto dalam rilis ini, lihat Rilis Versi Komponen [7.12.0](emr-7120-release.md).


**Informasi versi Presto untuk emr-7.12.0**  

| Label Rilis Amazon EMR | Versi Presto | Komponen Dipasang Dengan Presto | 
| --- | --- | --- | 
| emr-7.12.0 | Presto 0.287-amzn-6 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 

Tabel berikut mencantumkan versi Presto yang termasuk dalam rilis terbaru seri Amazon EMR 6.x, bersama dengan komponen yang dipasang Amazon EMR dengan Presto.

Untuk versi komponen yang diinstal dengan Presto dalam rilis ini, lihat Rilis Versi Komponen [6.15.0](emr-6150-release.md).


**Informasi versi Presto untuk emr-6.15.0**  

| Label Rilis Amazon EMR | Versi Presto | Komponen Dipasang Dengan Presto | 
| --- | --- | --- | 
| emr-6.15.0 | Presto 0.283-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 

Tabel berikut mencantumkan versi Presto yang termasuk dalam rilis terbaru seri Amazon EMR 5.x, bersama dengan komponen yang dipasang Amazon EMR dengan Presto.

Untuk versi komponen yang diinstal dengan Presto dalam rilis ini, lihat [Rilis 5.36.2](emr-5362-release.md) Versi Komponen.


**Informasi versi Presto untuk emr-5.36.2**  

| Label Rilis Amazon EMR | Versi Presto | Komponen Dipasang Dengan Presto | 
| --- | --- | --- | 
| emr-5.36.2 | Presto 0.267-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 

**Topics**
+ [Menggunakan Presto dengan Katalog Data AWS Glue](emr-presto-glue.md)
+ [Menggunakan S3 Pilih Pushdown dengan Presto untuk meningkatkan kinerja](emr-presto-s3select.md)
+ [Menambahkan konektor database](presto-adding-db-connectors.md)
+ [Menggunakan SSL/TLS dan mengonfigurasi LDAPS dengan Presto di Amazon EMR](presto-ssl.md)
+ [Mengaktifkan mode ketat Presto](presto-strict-mode.md)
+ [Menangani kerugian Instans Spot di Presto](presto-spot-loss.md)
+ [Menggunakan penskalaan otomatis Presto dengan Graceful Decommission](presto-graceful-autoscale.md)
+ [Pertimbangan dengan Presto on Amazon EMR](emr-presto-considerations.md)
+ [Riwayat rilis presto](Presto-release-history.md)

# Menggunakan Presto dengan Katalog Data AWS Glue
<a name="emr-presto-glue"></a>

Menggunakan Amazon EMR versi rilis 5.10.0 dan yang lebih baru, Anda dapat menentukan Katalog Data AWS Glue sebagai metastore Hive default untuk Presto. Kami merekomendasikan konfigurasi ini ketika Anda memerlukan metastore persisten atau metastore yang dibagikan oleh berbagai kluster, layanan, aplikasi, atau. Akun AWS

AWS Glue adalah layanan ekstrak, transformasi, dan beban (ETL) yang dikelola sepenuhnya yang membuatnya sederhana dan hemat biaya untuk mengkategorikan data Anda, membersihkannya, memperkayanya, dan memindahkannya dengan andal di antara berbagai penyimpanan data. Katalog Data AWS Glue menyediakan repositori metadata terpadu di berbagai sumber data dan format data, terintegrasi dengan Amazon EMR serta Amazon RDS, Amazon Redshift, Redshift Spectrum, Athena, dan aplikasi apa pun yang kompatibel dengan metastore Apache Hive. AWS Glue crawler dapat secara otomatis menyimpulkan skema dari data sumber di Amazon S3 dan menyimpan metadata terkait dalam Katalog Data. Untuk informasi selengkapnya tentang Katalog Data, lihat [Mengisi Katalog Data AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/populate-data-catalog.html) di *Panduan Pengembang AWS Glue*.

Biaya terpisah berlaku untuk AWS Glue. Ada tarif bulanan untuk menyimpan dan mengakses metadata di Katalog Data, tarif per jam yang ditagih per menit untuk pekerjaan AWS Glue ETL dan runtime crawler, dan tarif per jam yang ditagih per menit untuk setiap titik akhir pengembangan yang disediakan. Katalog Data memungkinkan Anda untuk menyimpan hingga satu juta objek tanpa biaya. Jika Anda menyimpan lebih dari satu juta objek, Anda dikenakan biaya USD\$11 untuk setiap 100.000 objek lebih dari satu juta. Sebuah objek dalam Katalog Data adalah tabel, partisi, atau database. Untuk informasi lebih lanjut, lihat [Harga Glue](https://aws.amazon.com/glue/pricing).

**penting**  
Jika Anda membuat tabel menggunakan Amazon Athena atau Amazon Redshift Spectrum sebelum 14 Agustus 2017, database dan tabel disimpan dalam katalog yang dikelola Athena, yang terpisah dari Katalog Data Glue. AWS Untuk mengintegrasikan Amazon EMR dengan tabel ini, Anda harus meningkatkan ke Katalog Data AWS Glue. Untuk informasi selengkapnya, lihat [Memutakhirkan ke Katalog Data AWS Glue](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html) di Panduan *Pengguna Amazon Athena*.

## Menentukan Katalog Data AWS Glue sebagai metastore
<a name="emr-presto-glue-configure"></a>

Anda dapat menentukan Katalog Data AWS Glue sebagai metastore menggunakan Konsol Manajemen AWS, AWS CLI, atau Amazon EMR API. Ketika Anda menggunakan CLI atau API, Anda menggunakan klasifikasi konfigurasi untuk Presto untuk menentukan Katalog Data. Selain itu, dengan Amazon EMR 5.16.0 dan yang lebih baru, Anda dapat menggunakan klasifikasi konfigurasi untuk menentukan Katalog Data yang berbeda. Akun AWS Bila menggunakan konsol, Anda dapat menentukan Katalog Data menggunakan **Opsi lanjutan** atau **Opsi cepat**.

------
#### [ Console ]

**Untuk menentukan AWS Glue Data Catalog sebagai metastore Hive dengan konsol baru**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol EMR Amazon di https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. **Di bawah **EMR pada EC2** di panel navigasi kiri, pilih Clusters, lalu pilih **Create cluster**.**

1. Di bawah **Bundel aplikasi**, pilih **Presto**.

1. Di bawah **Pengaturan AWS Glue Data Catalog**, pilih kotak **centang Use for Presto table metadata**.

1. Pilih opsi lain yang berlaku untuk cluster Anda. 

1. Untuk meluncurkan klaster Anda, pilih **Buat klaster**.

------
#### [ CLI ]

**Untuk menentukan AWS Glue Data Catalog sebagai metastore Hive default menggunakan AWS CLI**

Untuk contoh cara menentukan klasifikasi konfigurasi berikut ketika Anda membuat sebuah cluster, lihat [Konfigurasikan aplikasi](emr-configure-apps.md).

**Amazon EMR 5.16.0 dan yang lebih baru**
+ Mengatur `hive.metastore` Properti ke `glue` Seperti yang ditunjukkan dalam contoh JSON berikut.

  ```
  [
    {
      "Classification": "presto-connector-hive",
      "Properties": {
        "hive.metastore": "glue"
      }
    }
  ]
  ```

  Untuk menentukan Katalog Data yang berbeda Akun AWS, tambahkan `hive.metastore.glue.catalogid` properti seperti yang ditunjukkan pada contoh JSON berikut. Ganti `acct-id` dengan AWS akun Katalog Data. Menggunakan Katalog Data di tempat lain tidak Akun AWS tersedia menggunakan Amazon EMR versi 5.15.0 dan yang lebih lama.

  ```
  [
    {
      "Classification": "presto-connector-hive",
      "Properties": {
        "hive.metastore": "glue",
        "hive.metastore.glue.catalogid": "acct-id"
      }
    }
  ]
  ```

  **Amazon EMR 5.10.0 hingga 5.15.0**

  Mengatur `hive.metastore.glue.datacatalog.enabled` Properti ke `true`, seperti yang ditunjukkan dalam contoh JSON berikut:

  ```
  [
    {
      "Classification": "presto-connector-hive",
      "Properties": {
        "hive.metastore.glue.datacatalog.enabled": "true"
      }
    }
  ]
  ```

  **Amazon EMR 6.1.0 dan yang lebih baru menggunakan PrestosQL (Trino)**

  Dimulai dengan EMR versi 6.1.0, PrestoSQL juga mendukung Glue sebagai default Hive metastore. Penggunaan `prestosql-connector-hive` klasifikasi konfigurasi dan mengatur `hive.metastore` Properti ke `glue`, seperti yang ditunjukkan dalam contoh JSON berikut.

  Amazon EMR versi 6.4.0 dan yang lebih baru menggunakan nama baru Trino alih-alih PrestosQL. Jika Anda menggunakan Trino, ganti `prestosql-connector-hive` dalam klasifikasi konfigurasi berikut dengan`trino-connector-hive`.

  ```
  [
    {
      "Classification": "prestosql-connector-hive",
      "Properties": {
        "hive.metastore": "glue"
      }
    }
  ]
  ```

Untuk beralih metastores pada cluster berjalan lama, Anda dapat secara manual menetapkan nilai-nilai ini sesuai untuk versi rilis Anda dengan menghubungkan ke node master, mengedit nilai properti di `/etc/presto/conf/catalog/hive.properties` file secara langsung, dan restart Presto server (`sudo restart presto-server`). Jika Anda menggunakan metode ini dengan Amazon EMR 5.15.0 dan sebelumnya, pastikan bahwa `hive.table-statistics-enabled` diatur ke `false`. Pengaturan ini tidak diperlukan ketika menggunakan versi rilis 5.16.0 dan yang lebih baru; namun demikian, tabel dan partisi statistik tidak didukung.

------

## Izin IAM
<a name="emr-hive-glue-permissions"></a>

Profil instans EC2 untuk cluster harus memiliki izin IAM untuk tindakan AWS Glue. Selain itu, jika Anda mengaktifkan enkripsi untuk objek AWS Glue Data Catalog, peran juga harus diizinkan untuk mengenkripsi, mendekripsi, dan menghasilkan yang AWS KMS key digunakan untuk enkripsi.

### Izin untuk tindakan AWS Glue
<a name="emr-hive-glue-permissions-actions"></a>

Jika Anda menggunakan profil instans EC2 default untuk Amazon EMR, tindakan tidak diperlukan. Kebijakan `AmazonElasticMapReduceforEC2Role` terkelola yang dilampirkan pada `EMR_EC2_DefaultRole` memungkinkan semua tindakan AWS Glue yang diperlukan. Namun, jika Anda menentukan profil dan izin instans EC2 kustom, Anda harus mengonfigurasi tindakan AWS Glue yang sesuai. Gunakan `AmazonElasticMapReduceforEC2Role` Kebijakan yang dikelola sebagai titik awal. Untuk informasi selengkapnya, lihat [Peran layanan untuk instans EC2 cluster (profil instans EC2) di Panduan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html) Manajemen *EMR* Amazon.

### Izin untuk mengenkripsi dan mendekripsi Katalog Data Glue AWS
<a name="emr-hive-glue-permissions-encrypt"></a>

Profil instans Anda memerlukan izin untuk mengenkripsi dan mendekripsi data menggunakan kunci Anda. Anda *tidak* perlu mengonfigurasi izin ini jika kedua pernyataan berikut berlaku:
+ Anda mengaktifkan enkripsi untuk objek AWS Glue Data Catalog menggunakan kunci AWS terkelola untuk Glue.
+ Anda menggunakan cluster yang Akun AWS sama dengan AWS Glue Data Catalog.

Jika tidak, Anda harus menambahkan pernyataan berikut ke kebijakan izin yang dilampirkan ke profil instans EC2 Anda. 

Untuk informasi selengkapnya tentang enkripsi AWS Glue Data Catalog, lihat [Mengenkripsi katalog data Anda di Panduan](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html) *Pengembang AWS Glue*.

### Izin berbasiskan sumber daya
<a name="emr-hive-glue-permissions-resource"></a>

Jika Anda menggunakan AWS Glue bersama dengan Hive, Spark, atau Presto di Amazon EMR AWS , Glue mendukung kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya Katalog Data. Sumber daya ini termasuk database, tabel, koneksi, dan fungsi yang ditetapkan pengguna. Untuk informasi lebih lanjut, lihat [AWS Kebijakan sumber daya Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) di *AWS Panduan Developer Glue*.

Saat menggunakan kebijakan berbasis sumber daya untuk membatasi akses ke Glue AWS dari dalam Amazon EMR, prinsip yang Anda tentukan dalam kebijakan izin harus berupa ARN peran yang terkait dengan profil instans EC2 yang ditentukan saat kluster dibuat. Misalnya, untuk kebijakan berbasis sumber daya yang dilampirkan ke katalog, Anda dapat menentukan peran ARN untuk peran layanan default untuk instance EC2 klaster, *EMR\$1EC2\$1DefaultRole* seperti`Principal`, menggunakan format yang ditampilkan dalam contoh berikut:

```
arn:aws:iam::acct-id:role/EMR_EC2_DefaultRole
```

*acct-id*Bisa berbeda dari ID akun AWS Glue. Hal ini memungkinkan akses dari cluster EMR di account yang berbeda. Anda dapat menentukan beberapa kepala sekolah, masing-masing dari akun yang berbeda.

## Pertimbangan saat menggunakan AWS Glue Data Catalog
<a name="emr-presto-glue-knownissues"></a>

Pertimbangkan item berikut saat menggunakan AWS Glue Data Catalog sebagai metastore dengan Presto:
+ Mengganti nama tabel dari dalam AWS Glue tidak didukung.
+ Bila Anda membuat tabel Hive tanpa menentukan `LOCATION`, data tabel disimpan di lokasi yang ditentukan oleh `hive.metastore.warehouse.dir` properti. Secara default, ini adalah lokasi di HDFS. Jika gugus lain perlu mengakses tabel, gagal kecuali memiliki izin yang memadai untuk gugus yang dibuat tabel. Selain itu, karena penyimpanan HDFS sementara, jika gugus berakhir, data tabel hilang, dan tabel harus diciptakan kembali. Kami menyarankan Anda menentukan `LOCATION` di Amazon S3 saat Anda membuat tabel Hive menggunakan Glue. AWS Atau, Anda dapat menggunakan `hive-site` klasifikasi konfigurasi untuk menentukan lokasi di Amazon S3 untuk `hive.metastore.warehouse.dir`, yang berlaku untuk semua tabel Hive. Jika tabel dibuat di lokasi HDFS dan cluster yang membuatnya masih berjalan, Anda dapat memperbarui lokasi tabel ke Amazon S3 dari dalam AWS Glue. Untuk informasi selengkapnya, lihat [Bekerja dengan Tabel di Konsol AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html) di *Panduan Pengembang AWS Glue*. 
+ Nilai partisi yang berisi tanda kutip dan apostrof tidak didukung, misalnya, `PARTITION (owner="Doe's").`
+ [Statistik kolom](https://cwiki.apache.org/confluence/display/Hive/StatsDev#StatsDev-ColumnStatistics) didukung untuk emr-5.31.0 dan yang lebih baru.
+ Menggunakan [Otorisasi hive](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization) tidak didukung. Sebagai alternatif, pertimbangkan untuk menggunakan [AWS Kebijakan Berbasis Sumber Daya Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html). Untuk informasi selengkapnya, lihat [Menggunakan Kebijakan Berbasis Sumber Daya untuk Amazon EMR Access to Glue](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html) Data Catalog. AWS 

# Menggunakan S3 Pilih Pushdown dengan Presto untuk meningkatkan kinerja
<a name="emr-presto-s3select"></a>

**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](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

Dengan rilis Amazon EMR versi 5.18.0 dan yang lebih baru, Anda dapat menggunakan [S3 Select](https://aws.amazon.com/blogs/aws/s3-glacier-select/) Pushdown dengan Presto on Amazon EMR. Fitur ini memungkinkan Presto untuk “push down” pekerjaan komputasi operasi proyeksi (misalnya, `SELECT`) dan operasi predikat (misalnya, `WHERE`) ke Amazon S3. Hal ini memungkinkan query untuk mengambil hanya data yang diperlukan dari Amazon S3, yang dapat meningkatkan kinerja dan mengurangi jumlah data yang ditransfer antara Amazon EMR dan Amazon S3 di beberapa aplikasi.

## Apakah S3 Pilih Pushdown tepat untuk aplikasi saya?
<a name="emr-presto-s3select-apps"></a>

Kami menyarankan Anda patokan aplikasi Anda dengan dan tanpa S3 Pilih Pushdown untuk melihat apakah menggunakannya mungkin cocok untuk aplikasi Anda.

Gunakan panduan berikut untuk menentukan apakah aplikasi Anda adalah kandidat untuk menggunakan S3 Pilih:
+ Permintaan Anda menyaring lebih dari setengah dari kumpulan data asli.
+ Predikat filter kueri permintaan Anda menggunakan kolom yang memiliki tipe data yang didukung oleh Presto dan S3 Select. The timestamp, real, dan tipe data ganda tidak didukung oleh S3 Pilih Pushdown. Sebaiknya gunakan tipe data desimal untuk data numerik. Untuk informasi selengkapnya tentang tipe data yang didukung untuk S3 Select, lihat [Jenis data](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-data-types.html) 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
<a name="emr-presto-s3select-considerations"></a>
+ Hanya objek yang disimpan dalam format CSV yang didukung. Objek dapat dikompresi atau opsional dikompresi dengan gzip atau bzip2.
+ Properti `AllowQuotedRecordDelimiters` tidak didukung. Jika properti ini ditentukan, permintaan gagal.
+ Gunakan enkripsi sisi server Amazon S3 dengan kunci enkripsi yang disediakan pelanggan (SSE-C) dan enkripsi sisi klien tidak didukung. 
+ S3 Pilih Pushdown bukan pengganti untuk menggunakan format file kolumnar atau terkompresi seperti ORC atau Parket.
+ Amazon S3 Select tidak mendukung kueri lintas wilayah untuk Presto dan Trino.

## Mengaktifkan S3 Pilih Pushdown dengan PrestoDB atau Trino
<a name="emr-presto-s3select-specify"></a>

Untuk mengaktifkan S3 Pilih Pushdown untuk PrestoDB di Amazon EMR, gunakan `presto-connector-hive` klasifikasi konfigurasi untuk mengatur `hive.s3select-pushdown.enabled` ke `true` Seperti yang ditunjukkan dalam contoh di bawah ini. Untuk informasi selengkapnya, lihat [Konfigurasikan aplikasi](emr-configure-apps.md). Nilai hive.s3select-pushdown.max-koneksi juga harus ditetapkan. Untuk sebagian besar aplikasi, pengaturan default `500` harus memadai. Untuk informasi selengkapnya, lihat [Memahami dan menyetel hive.s3select-pushdown.max-koneksi](#emr-presto-s3select-max) di bawah.

Untuk PrestosQL pada EMR versi 6.1.0 - 6.3.0, ganti pada contoh di bawah ini dengan. `presto-connector-hive` `prestosql-connector-hive`

Amazon EMR versi 6.4.0 dan yang lebih baru menggunakan nama baru Trino alih-alih PrestosQL. Jika Anda menggunakan Trino, ganti `presto-connector-hive` pada contoh di bawah ini dengan `trino-connector-hive`

```
[
    {
        "classification": "presto-connector-hive",
        "properties": {
            "hive.s3select-pushdown.enabled": "true",
            "hive.s3select-pushdown.max-connections": "500"
        }
    }
]
```

### Memahami dan menyetel hive.s3select-pushdown.max-koneksi
<a name="emr-presto-s3select-max"></a>

Secara default, Presto menggunakan EMRFS sebagai sistem file. Pengaturan `fs.s3.maxConnections` dalam `emrfs-site` klasifikasi konfigurasi menentukan koneksi klien maksimum yang diijinkan untuk Amazon S3 melalui EMRFS untuk Presto. Secara default, ini adalah 500. S3 Pilih Pushdown melewati EMRFS saat mengakses Amazon S3 untuk operasi predikat. Dalam hal ini, nilai `hive.s3select-pushdown.max-connections` menentukan jumlah maksimum koneksi klien yang diizinkan untuk operasi tersebut dari node pekerja. Namun, setiap permintaan untuk Amazon S3 yang Presto memulai yang tidak didorong ke bawah - misalnya, GET operasi-terus diatur oleh nilai `fs.s3.maxConnections`.

Jika aplikasi Anda mengalami kesalahan “Timeout menunggu koneksi dari kolam,” tingkatkan nilai keduanya `hive.s3select-pushdown.max-connections` dan `fs.s3.maxConnections`.

# Menambahkan konektor database
<a name="presto-adding-db-connectors"></a>

Anda dapat menggunakan klasifikasi konfigurasi untuk mengkonfigurasi properti konektor JDBC ketika Anda membuat sebuah cluster. Klasifikasi konfigurasi dimulai dengan `presto-connector`, misalnya, `presto-connector-postgresql`. Klasifikasi konfigurasi yang tersedia tergantung pada versi rilis Amazon EMR. Untuk klasifikasi konfigurasi yang tersedia dengan versi rilis terbaru, lihat Amazon EMR [5.36.2 klasifikasi konfigurasi](emr-5362-release.md#emr-5362-class) 5.36.2. Jika Anda menggunakan versi yang berbeda dari Amazon EMR, lihat [Amazon EMR versi rilis 5.x](emr-release-5x.md) Untuk klasifikasi konfigurasi. Untuk informasi selengkapnya tentang properti yang dapat dikonfigurasi dengan setiap konektor, lihat [https://prestodb.io/docs/current/connector.html](https://prestodb.io/docs/current/connector.html). 

**Example —configuring sebuah cluster dengan konektor PostgreSQL JDBC**  
Untuk meluncurkan cluster dengan konektor PostgreSQL diinstal dan dikonfigurasi, pertama buat file JSON yang menentukan klasifikasi konfigurasi—misalnya, `myConfig.json`—dengan konten berikut, dan simpan secara lokal.  
Mengganti properti sambungan yang sesuai untuk pengaturan Anda dan seperti yang ditunjukkan dalam [Konektor PostgreSQL](https://prestodb.io/docs/current/connector/postgresql.html) topik dalam Dokumentasi Presto.  

```
[
  {
    "Classification": "presto-connector-postgresql",
    "Properties": {
      "connection-url": "jdbc:postgresql://example.net:5432/database",
      "connection-user": "MYUSER",
      "connection-password": "MYPASS"
    },
    "Configurations": []
  }
]
```
Ketika Anda membuat cluster, referensi path ke file JSON menggunakan `--configurations` Pilihan seperti yang ditunjukkan dalam contoh berikut, di mana `myConfig.json` berada di direktori yang sama di mana Anda menjalankan perintah:  

```
aws emr create-cluster --name PrestoConnector --release-label emr-5.36.2 --instance-type m5.xlarge \
--instance-count 2 --applications Name=Hadoop Name=Hive Name=Pig Name=Presto \
--use-default-roles --ec2-attributes KeyName=myKey \
--log-uri s3://amzn-s3-demo-bucket/logs --enable-debugging \
--configurations file://myConfig.json
```

# Menggunakan SSL/TLS dan mengonfigurasi LDAPS dengan Presto di Amazon EMR
<a name="presto-ssl"></a>

Dengan Amazon EMR rilis versi 5.6.0 dan yang lebih baru, Anda dapat mengaktifkan SSL/TLS untuk membantu [mengamankan komunikasi internal antara](https://prestodb.io/docs/current/security/internal-communication.html) node Presto. Anda melakukannya dengan menyiapkan konfigurasi keamanan untuk enkripsi dalam transit. Untuk informasi selengkapnya, lihat [Opsi enkripsi](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) dan [Menggunakan konfigurasi keamanan untuk mengatur keamanan cluster](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) dalam *Amazon EMR*.

Ketika Anda menggunakan konfigurasi keamanan dengan di-transit enkripsi, Amazon EMR melakukan hal berikut untuk Presto:
+ Mendistribusikan artefak enkripsi, atau sertifikat, yang Anda tentukan untuk di-transit enkripsi di seluruh cluster Presto. Untuk informasi selengkapnya, lihat [Menyediakan sertifikat untuk enkripsi data in-transit](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-encryption-certificates).
+ Menetapkan properti berikut menggunakan klasifikasi konfigurasi `presto-config`, yang sesuai dengan file `config.properties` untuk Presto:
  + Sets `http-server.http.enabled` ke `false` pada semua node, yang menonaktifkan HTTP mendukung HTTPS. Hal ini mengharuskan Anda untuk memberikan sertifikat yang berfungsi untuk DNS publik dan pribadi saat menyiapkan konfigurasi keamanan untuk enkripsi dalam transit. Salah satu cara untuk melakukannya adalah dengan menggunakan SAN (nama alternatif subjek) sertifikat yang mendukung beberapa domain.
  + Sets `http-server.https.*` nilai. Untuk detail konfigurasi, lihat [Autentikasi LDAP](https://prestodb.io/docs/current/security/ldap.html) dalam dokumentasi Presto.

Selain itu, dengan rilis Amazon EMR versi 5.10.0 dan yang lebih baru, Anda dapat mengatur [Autentikasi LDAP](https://prestodb.io/docs/current/security/ldap.html) untuk koneksi klien ke koordinator Presto menggunakan HTTPS. Penataan ini menggunakan LDAP aman (LDAPS). TLS harus diaktifkan pada server LDAP Anda, dan gugus Presto harus menggunakan konfigurasi keamanan dengan enkripsi data di-transit diaktifkan. Konfigurasi tambahan diperlukan. Pilihan konfigurasi berbeda tergantung pada versi rilis Amazon EMR yang Anda gunakan. Untuk informasi selengkapnya, lihat [Menggunakan otentikasi LDAP untuk Presto on Amazon EMR](emr-presto-ldap.md).

Presto on Amazon EMR menggunakan port 8446 untuk HTTPS internal secara default. Port yang digunakan untuk komunikasi internal harus port yang sama digunakan untuk klien HTTPS akses ke koordinator Presto. Parameter `http-server.https.port` Properti di properti `presto-config` klasifikasi konfigurasi menentukan port.

# Menggunakan otentikasi LDAP untuk Presto on Amazon EMR
<a name="emr-presto-ldap"></a>

Ikuti langkah-langkah dalam bagian ini untuk mengkonfigurasi LDAP. Lihat setiap langkah untuk contoh dan tautan ke informasi lebih lanjut.

**Topics**
+ [Langkah 1: Mengumpulkan informasi tentang server LDAP Anda dan menyalin sertifikat server ke Amazon S3](#emr-presto-ldap-server-prereq)
+ [Langkah 2: Mengatur konfigurasi keamanan](#emr-presto-ldap-seccfg)
+ [Langkah 3: Buat konfigurasi JSON dengan properti Presto untuk LDAP](#emr-presto-ldap-prestoconfig)
+ [Langkah 4: Buat script untuk menyalin sertifikat server LDAP dan meng-upload ke Amazon S3](#emr-presto-ldap-servercert)
+ [Langkah 5: Membuat cluster](#emr-presto-ldap-createcluster)

## Langkah 1: Mengumpulkan informasi tentang server LDAP Anda dan menyalin sertifikat server ke Amazon S3
<a name="emr-presto-ldap-server-prereq"></a>

Anda akan memerlukan informasi dan item di bagian berikut dari server LDAP Anda untuk mengkonfigurasi otentikasi LDAP.

### Alamat IP atau nama host server LDAP
<a name="w2aac60c39c13b7b5"></a>

Koordinator Presto pada Amazon EMR master node harus mampu mencapai server LDAP di alamat IP tertentu atau nama host. Secara default, Presto berkomunikasi dengan server LDAP menggunakan LDAPS melalui port 636. Jika implementasi LDAP Anda memerlukan port kustom, Anda dapat menentukan menggunakan `ldap.url` dengan Amazon EMR 5.16.0 atau yang lebih baru, atau menggunakan `authentication.ldap.url` dengan versi sebelumnya. Mengganti port kustom untuk `636` seperti yang ditunjukkan dalam `presto-config` contoh klasifikasi konfigurasi di [Langkah 3: Buat konfigurasi JSON dengan properti Presto untuk LDAP](#emr-presto-ldap-prestoconfig). Pastikan bahwa firewall dan grup keamanan memungkinkan lalu lintas masuk dan keluar pada port 636 (atau port kustom Anda) dan juga port 8446 (atau port kustom Anda), yang digunakan untuk komunikasi cluster internal.

### Sertifikat server LDAP
<a name="w2aac60c39c13b7b7"></a>

Anda harus meng-upload file sertifikat ke lokasi yang aman di Amazon S3. Untuk informasi selengkapnya, lihat [Bagaimana cara mengunggah file dan folder ke Bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*. Anda membuat bootstrap tindakan yang menyalin sertifikat ini dari Amazon S3 untuk setiap node dalam gugus ketika kluster meluncurkan. Masuk [Langkah 4: Buat script untuk menyalin sertifikat server LDAP dan meng-upload ke Amazon S3](#emr-presto-ldap-servercert). Contoh sertifikat adalah*s3://amzn-s3-demo-bucket/ldap\$1server.crt*.

### Pengaturan server LDAP untuk pengikatan anonim
<a name="w2aac60c39c13b7b9"></a>

Jika anonim mengikat dinonaktifkan pada PrestoDB, Anda memerlukan ID pengguna (UID) dan password dari account dengan izin untuk mengikat ke server LDAP sehingga server PrestoDB dapat membuat sambungan. Anda menentukan UID dan sandi menggunakan `internal-communication.authentication.ldap.user` dan `internal-communication.authentication.ldap.password` properti di properti `presto-config` Konfigurasi klasifikasi. Amazon EMR 5.10.0 tidak mendukung pengaturan ini, sehingga anonim mengikat harus didukung pada server LDAP ketika Anda menggunakan versi rilis ini.

Perhatikan bahwa Trino tidak memerlukan konfigurasi pengikatan anonim.

**Untuk mendapatkan status pengikatan anonim pada server LDAP**
+ Penggunaan[ldapwhoami](https://linux.die.net/man/1/ldapwhoami)Perintah dari klien Linux, seperti yang ditunjukkan dalam contoh berikut:

  ```
  ldapwhoami -x -H ldaps://LDAPServerHostNameOrIPAddress
  ```

  Jika anonim mengikat tidak diperbolehkan, perintah mengembalikan berikut:

  ```
  ldap_bind: Inappropriate authentication (48)
  additional info: anonymous bind disallowed
  ```

**Untuk memverifikasi bahwa account memiliki izin ke server LDAP yang menggunakan otentikasi sederhana**
+ Penggunaan[ldapwhoami](https://linux.die.net/man/1/ldapwhoami)Perintah dari klien Linux, seperti yang ditunjukkan dalam contoh berikut. Contoh ini menggunakan pengguna fiktif,*presto*, disimpan di server Open LDAP yang berjalan pada instance EC2 dengan nama host fiktif. *ip-xxx-xxx-xxx-xxx.ec2.internal* Pengguna dikaitkan dengan unit organisasi (OU) *admins* dan dengan kata sandi*123456*:

  ```
  ldapwhoami -x -w "123456" -D uid=presto,ou=admins,dc=ec2,dc=internal -H ldaps://ip-xxx-xxx-xxx-xxx.ec2.internal 
  ```

  Jika akun valid dan memiliki izin yang sesuai, perintah kembali:

  ```
  dn:uid=presto,ou=admins,dc=ec2,dc=internal
  ```

Konfigurasi contoh dalam [Langkah 3: Buat konfigurasi JSON dengan properti Presto untuk LDAP](#emr-presto-ldap-prestoconfig) sertakan akun ini untuk kejelasan, dengan pengecualian contoh 5.10.0, di mana tidak didukung. Jika server LDAP menggunakan pengikatan anonim, hapus `internal-communication.authentication.ldap.user` dan `internal-communication.authentication.ldap.password` name/value pasangkan.

### Nama dibedakan LDAP (DN) untuk pengguna Presto
<a name="w2aac60c39c13b7c11"></a>

Ketika Anda menentukan konfigurasi LDAP untuk Presto, Anda menentukan pola bind yang terdiri dari `${USER}` bersama dengan unit organisasi (OU) dan komponen domain tambahan (). DCs Presto menggantikan `${USER}` dengan sebenarnya User ID (UID) dari setiap pengguna selama otentikasi sandi untuk mencocokkan nama dibedakan (DN) yang pola mengikat ini menentukan. Anda membutuhkan pengguna OUs yang memenuhi syarat milik dan milik mereka DCs. Misalnya, untuk memungkinkan pengguna dari `admins` OU di `corp.example.com` domain untuk otentikasi ke Presto, Anda tentukan `${USER},ou=admins,dc=corp,dc=example,dc=com` sebagai pola mengikat pengguna.

**catatan**  
Saat Anda menggunakan AWS CloudFormation, Anda perlu menggunakan fungsi Fn: :Sub untuk mengganti `${USER}` dengan User ID (UID) yang sebenarnya. Untuk informasi selengkapnya, lihat topik [Fn: :Sub](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) di *AWS CloudFormation Panduan Pengguna*.

Bila menggunakan Amazon EMR 5.10.0, Anda dapat menentukan hanya satu pola seperti itu. Menggunakan Amazon EMR 5.11.0 atau yang lebih baru, Anda dapat menentukan beberapa pola dipisahkan oleh titik dua (:). Pengguna mencoba untuk mengotentikasi ke Presto dibandingkan dengan pola pertama, maka yang kedua, dan seterusnya. Sebagai contoh, lihat [Langkah 3: Buat konfigurasi JSON dengan properti Presto untuk LDAP](#emr-presto-ldap-prestoconfig).

## Langkah 2: Mengatur konfigurasi keamanan
<a name="emr-presto-ldap-seccfg"></a>

Buat konfigurasi keamanan dengan enkripsi dalam transit diaktifkan. Untuk informasi selengkapnya, lihat [Membuat konfigurasi keamanan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-create-security-configuration.html) dalam *Amazon EMR*. Artefak enkripsi yang Anda berikan ketika Anda mengatur di-transit enkripsi yang digunakan untuk mengenkripsi komunikasi internal antara Presto node. Untuk informasi selengkapnya, lihat [Menyediakan sertifikat untuk enkripsi data in-transit](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-encryption-certificates). Sertifikat server LDAP digunakan untuk mengotentikasi koneksi klien ke Presto server.

## Langkah 3: Buat konfigurasi JSON dengan properti Presto untuk LDAP
<a name="emr-presto-ldap-prestoconfig"></a>

Anda menggunakan `presto-config` klasifikasi konfigurasi untuk mengatur properti Presto untuk LDAP. Format dan isinya sedikit berbeda tergantung pada versi rilis Amazon EMR dan instalasi Presto (PrestoDB atau Trino). `presto-config` Contoh perbedaan konfigurasi disediakan nanti dalam bagian ini. Untuk informasi selengkapnya, lihat [Konfigurasikan aplikasi](emr-configure-apps.md).

Langkah-langkah berikut mengasumsikan bahwa Anda menyimpan data JSON ke file,*MyPrestoConfig.json*. Jika Anda menggunakan konsol, meng-upload file ke lokasi aman di Amazon S3 sehingga Anda dapat referensi ketika Anda membuat cluster. Jika Anda menggunakan AWS CLI, Anda dapat mereferensikan file secara lokal.

**Example Amazon EMR 6.1.0 dan yang lebih baru dengan PrestosQL (Trino)**  
Contoh berikut menggunakan nama host LDAP dari [Langkah 1: Mengumpulkan informasi tentang server LDAP Anda dan menyalin sertifikat server ke Amazon S3](#emr-presto-ldap-server-prereq) untuk mengotentikasi ke server LDAP untuk mengikat. Dua pola ikatan pengguna ditentukan, yang menunjukkan bahwa pengguna dalam `admins` OU dan `datascientists` OU pada server LDAP memenuhi syarat untuk otentikasi ke server Trino sebagai pengguna. Pola mengikat dipisahkan oleh titik dua (`:`).  
Amazon EMR versi 6.4.0 dan yang lebih baru menggunakan nama baru Trino alih-alih PrestosQL. Jika Anda menggunakan Trino, ganti *`prestosql-config`* dalam klasifikasi konfigurasi berikut dengan `trino-config` dan `prestosql-password-authenticator` dengan`trino-password-authenticator`.  

```
[
   {
      "Classification":"prestosql-config",
      "Properties":{
         "http-server.authentication.type":"PASSWORD"
      }
   },
   {
      "Classification":"prestosql-password-authenticator",
      "Properties":{
         "password-authenticator.name":"ldap",
         "ldap.url":"ldaps://ip-xxx-xxx-xxx-xxx.ec2.internal:636",
         "ldap.user-bind-pattern": "uid=${USER},ou=admins,dc=ec2,dc=internal:uid=${USER},ou=datascientists,dc=ec2,dc=internal"
      }
   }
]
```

**Example Amazon EMR 5.16.0 dan versi yang lebih tinggi**  
Contoh berikut menggunakan LDAP user ID dan password, dan nama host LDAP dari [Langkah 1: Mengumpulkan informasi tentang server LDAP Anda dan menyalin sertifikat server ke Amazon S3](#emr-presto-ldap-server-prereq) untuk mengotentikasi ke server LDAP untuk mengikat. Dua pola mengikat pengguna ditentukan, yang menunjukkan bahwa pengguna dalam `admins` OU dan `datascientists` OU pada LDAP server memenuhi syarat untuk otentikasi ke Presto server sebagai pengguna. Pola mengikat dipisahkan oleh titik dua (`:`).  

```
[{
        "Classification": "presto-config",
                "Properties": {
                        "http-server.authentication.type": "PASSWORD"
                }
        },
        {
                "Classification": "presto-password-authenticator",
                "Properties": {
                        "password-authenticator.name": "ldap",
                        "ldap.url": "ldaps://ip-xxx-xxx-xxx-xxx.ec2.internal:636",
                        "ldap.user-bind-pattern": "uid=${USER},ou=admins,dc=ec2,dc=internal:uid=${USER},ou=datascientists,dc=ec2,dc=internal",
                        "internal-communication.authentication.ldap.user": "presto",
                        "internal-communication.authentication.ldap.password": "123456"
                }
        }]
```

**Example Amazon EMR 5.11.0 melalui 5.15.0**  
Formatnya `presto-config ` klasifikasi konfigurasi sedikit berbeda untuk versi rilis ini. Contoh berikut menentukan parameter yang sama seperti contoh sebelumnya.  

```
[{
        "Classification": "presto-config",
                "Properties": {
                        "http-server.authentication.type": "LDAP",
                        "authentication.ldap.url": "ldaps://ip-xxx-xxx-xxx-xxx.ec2.internal:636",
                        "authentication.ldap.user-bind-pattern": "uid=${USER},ou=admins,dc=ec2,dc=internal:uid=${USER},ou=datascientists,dc=ec2,dc=internal",
                        "internal-communication.authentication.ldap.user": "presto",
                        "internal-communication.authentication.ldap.password": "123456"
                }
        }]
```

**Example EMR Amazon 5.10.0**  
Amazon EMR 5.10.0 mendukung anonim mengikat hanya, sehingga entri tersebut dihilangkan. Selain itu, hanya pola pengikat tunggal yang bisa ditentukan.  

```
[{
        "Classification": "presto-config",
                "Properties": {
                        "http-server.authentication.type": "LDAP",
                        "authentication.ldap.url": "ldaps://ip-xxx-xxx-xxx-xxx.ec2.internal:636",
                        "ldap.user-bind-pattern": "uid=${USER},ou=prestousers,dc=ec2,dc=internal"
                }
        }]
```

## Langkah 4: Buat script untuk menyalin sertifikat server LDAP dan meng-upload ke Amazon S3
<a name="emr-presto-ldap-servercert"></a>

Membuat script yang menyalin file sertifikat untuk setiap node dalam gugus dan menambahkan ke keystore. Buat skrip menggunakan editor teks, simpan, dan kemudian muat naik ke Amazon S3. Dalam[Langkah 5: Membuat cluster](#emr-presto-ldap-createcluster), file skrip direferensikan sebagai*s3://amzn-s3-demo-bucket/LoadLDAPCert.sh*.

Contoh skrip berikut menggunakan password keystore default,*changeit*. Kami merekomendasikan bahwa Anda menyambung ke node master setelah Anda membuat cluster dan mengubah sandi keystore menggunakan perintah keytool.

```
#!/bin/bash
aws s3 cp s3://amzn-s3-demo-bucket/ldap_server.crt .
sudo keytool -import -keystore /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/lib/security/cacerts -trustcacerts -alias ldap_server -file ./ldap_server.crt -storepass changeit -noprompt
```



## Langkah 5: Membuat cluster
<a name="emr-presto-ldap-createcluster"></a>

Ketika Anda membuat cluster, Anda menentukan Presto dan aplikasi lain yang Anda inginkan Amazon EMR untuk menginstal. Contoh berikut juga referensi properti klasifikasi konfigurasi dalam JSON, tetapi Anda juga dapat menentukan inline klasifikasi konfigurasi.

**Untuk membuat cluster Presto dengan otentikasi LDAP menggunakan konsol Amazon EMR**

1. Arahkan ke konsol EMR Amazon baru dan pilih **Beralih ke konsol lama** dari navigasi samping. Untuk informasi selengkapnya tentang apa yang diharapkan saat beralih ke konsol lama, lihat [Menggunakan konsol lama](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in).

1. Pilih **Buat Kluster**, **Buka opsi tingkat lanjut**.

1. Pilih**Presto**bersama dengan aplikasi lain untuk Amazon EMR untuk menginstal, dan di bawah**Konfigurasi Software**, pilih**Rilis**dari Amazon EMR untuk digunakan. Otentikasi LDAP didukung hanya dengan Amazon EMR 5.10.0 dan kemudian.

1. Di bawah **Mengedit setelan perangkat lunak**, pilih **Muat JSON dari S3**, masukkan lokasi di Amazon S3 dari file konfigurasi JSON yang Anda buat [Langkah 3: Buat konfigurasi JSON dengan properti Presto untuk LDAP](#emr-presto-ldap-prestoconfig), lalu pilih **Selanjutnya**.

1. Mengkonfigurasi cluster perangkat keras dan jaringan, dan kemudian pilih**Selanjutnya**.

1. Pilih**Tindakan Bootstrap**. Untuk**Tambahkan tindakan bootstrap**, pilih**Tindakan kustom**, lalu pilih**Konfigurasikan dan tambahkan**.

1. Masukkan **Nama** untuk tindakan bootstrap, masukkan **lokasi Script** yang Anda buat[Langkah 4: Buat script untuk menyalin sertifikat server LDAP dan meng-upload ke Amazon S3](#emr-presto-ldap-servercert), misalnya **s3://amzn-s3-demo-bucket/Load LDAPCert .sh**, lalu pilih **Tambah**.

1. Di bawah**Pilihan umum**,**Tag**, dan**Opsi tambahan**pilih pengaturan yang sesuai untuk aplikasi Anda, dan kemudian pilih**Selanjutnya**.

1. Pilih**Autentikasi dan enkripsi**, dan kemudian pilih**Konfigurasi keamanan**yang Anda buat di [Langkah 2: Mengatur konfigurasi keamanan](#emr-presto-ldap-seccfg).

1. Pilih opsi keamanan lain yang sesuai untuk aplikasi Anda, dan kemudian pilih**Buat gugus**.

**Untuk membuat cluster Presto dengan otentikasi LDAP menggunakan AWS CLI**
+ Gunakan perintah `aws emr create-cluster`. Minimal, tentukan aplikasi Presto, dan juga klasifikasi konfigurasi Presto, skrip bootstrap, dan konfigurasi keamanan yang Anda buat pada langkah-langkah sebelumnya. Contoh berikut referensi file konfigurasi sebagai file JSON disimpan dalam direktori yang sama di mana Anda menjalankan perintah. Skrip bootstrap, di sisi lain, harus disimpan di Amazon S3. Contoh berikut menggunakan `s3://amzn-s3-demo-bucket/LoadLDAPCert.sh`.
**catatan**  
Karakter kelanjutan baris Linux (\$1) disertakan untuk memudahkan pembacaan. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

  ```
  aws emr create-cluster  --applications Name=presto --release-label emr-5.16.0 \
  --use-default-roles --ec2-attributes KeyName=MyKeyPair,SubnetId=subnet-1234ab5 \ --instance-count 3 --instance-type m5.xlarge --region us-west-2 --name "MyPrestoWithLDAPAuth" \
  --bootstrap-actions Name="Distribute LDAP server cert",Path="s3://amzn-s3-demo-bucket/LoadLDAPCert.sh" \
  --security-configuration MyPrestoLDAPSecCfg --configurations file://MyPrestoConfig.json
  ```

# Mengaktifkan mode ketat Presto
<a name="presto-strict-mode"></a>

Dalam situasi tertentu, kueri yang berjalan lama dapat menyebabkan biaya tinggi dan menyebabkan Amazon EMR menggunakan lebih banyak sumber daya cluster. Ini menghilangkan sumber daya dari beban kerja lain di cluster. Dengan Amazon EMR versi 6.8 dan yang lebih baru, Anda dapat menggunakan fitur mode ketat yang menolak atau memperingatkan Anda tentang jenis kueri yang berjalan lama berikut:
+ Kueri tanpa predikat pada kolom yang dipartisi yang menghasilkan pemindaian tabel sejumlah besar data
+ Kueri dengan gabungan silang antara dua tabel besar
+ Kueri yang mengurutkan sejumlah besar baris tanpa batas

Setelah Presto benar-benar mengoptimalkan rencana kueri, mode ketat berjalan. Untuk menggunakan dan menyesuaikan mode ketat dengan kebutuhan kueri Anda, Anda dapat mengonfigurasi Presto dengan cara berikut.


**Konfigurasi Presto untuk mode ketat**  

| Pengaturan | Deskripsi | Default | 
| --- | --- | --- | 
| strict-mode-enabled | Menghidupkan dan mematikan mode ketat. Nilai true menunjukkan bahwa mode ketat aktif. | false | 
| strict-mode-fail-query | Menolak kueri jika mode ketat mendeteksi kemungkinan kueri yang berjalan lama. Jikafalse, Amazon EMR hanya memunculkan peringatan.  | false | 
| strict-mode-restrictions | Menentukan batasan untuk diterapkan ketika modus ketat dihidupkan. Mode ketat mendukung pembatasan berikut: MANDATORY\$1PARTITION\$1PREDICATE, DISALLOW\$1CROSS\$1JOIN, dan LIMITED\$1SORT. |  MANDATORY\$1PARTITION\$1PREDICATE, DISALLOW\$1CROSS\$1JOIN, LIMITED\$1SORT  | 

Untuk bereksperimen dengan mode ketat, Anda dapat mengganti konfigurasi ini, atau mengaturnya sebagai properti sesi saat Anda menggunakan klien Presto. 

**Untuk mengatur konfigurasi pada pembuatan cluster dengan Konsol Manajemen AWS**

1. Pilih **Buat cluster** dan pilih Amazon EMR versi 6.8.0, dan Presto atau Trino. Untuk informasi selengkapnya, lihat [Menginstal PrestoDB](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto-considerations.html#emr-prestodb-prestosql) dan Trino. 

1. Tentukan properti konfigurasi untuk mode ketat secara langsung, atau unggah file JSON ke Amazon S3. Secara opsional, pilih katalog data AWS Glue untuk metastore Anda. Tentukan VPC, subnet, tindakan bootstrap, key pair, dan grup keamanan Anda. Pilih **Buat cluster** untuk membuat klaster Anda. 

1. Masuk ke node utama cluster dan jalankan `presto-cli` atau`trino-cli`. 

1. Kirimkan pertanyaan Anda. Mode ketat memvalidasi setiap kueri dan menentukan apakah itu berjalan lama. Bergantung pada `strict-mode-fail-query` pengaturan Anda, Amazon EMR menolak kueri atau memunculkan peringatan. 

1. Setelah selesai dengan kueri, hentikan klaster dan hapus sumber daya Anda. 

**Untuk mengatur konfigurasi pada cluster yang sedang berjalan dengan AWS CLI**

1. Masuk ke node utama cluster Anda dengan AWS CLI dan jalankan `presto-cli` atau`trino-cli`.

1. Jalankan perintah berikut dengan nilai yang Anda inginkan. 

   ```
   set session strict_mode_enabled = true; 
   set session strict_mode_fail_query = false;
   set session strict_mode_restrictions = 'DISALLOW_CROSS_JOIN,LIMITED_SORT';
   ```

## Pertimbangan-pertimbangan
<a name="presto-strict-mode-considerations"></a>

Saat Anda menggunakan mode ketat, pertimbangkan hal berikut: 
+ Dalam beberapa kasus, mode ketat dapat menolak kueri jangka pendek yang tidak menghabiskan banyak sumber daya. Misalnya, kueri pada tabel kecil tidak menerapkan pemfilteran dinamis atau mengganti gabungan bagian dalam dengan gabungan silang. Ini dapat menyebabkan kueri menggunakan predikat partisi wajib atau melarang gabungan silang. Ketika ini terjadi, mode ketat menolak kueri. 
+ Pemeriksaan mode ketat hanya diterapkan pada jenis kueri SELECT, INSERT, CREATE TABLE AS SELECT, dan EXPLORE ANALYZE. 
+ Anda hanya dapat menggunakan batasan pada predikat partisi wajib dengan konektor Hive. 

# Menangani kerugian Instans Spot di Presto
<a name="presto-spot-loss"></a>

Dengan Instans Spot di Amazon EMR, Anda dapat menjalankan beban kerja big data pada kapasitas Amazon EC2 cadangan dengan biaya yang lebih murah. Sebagai imbalan atas biaya yang lebih rendah, Amazon EC2 dapat mengganggu Instans Spot dengan pemberitahuan dua menit. Ketika Anda mengakhiri sebuah node, Presto dapat memakan waktu hingga 10 menit sebelum mengembalikan kesalahan. Hal ini menyebabkan penundaan yang tidak perlu dalam laporan kesalahan dan kemungkinan percobaan ulang. Pengakhiran cepat adalah fitur yang memberi Anda kontrol atas cara Presto menangani node yang dihentikan.

Tugas koordinator Presto adalah melacak semua node pekerja dengan jajak pendapat reguler status mereka. Tanpa penghentian cepat, koordinator tidak berkonsultasi dengan YARN NodeManager untuk status setiap node. Ini dapat menghasilkan loop coba lagi yang panjang sebelum kueri gagal. Dengan penghentian cepat, koordinator Presto berkonsultasi dengan status node NodeManager segera setelah jajak pendapat gagal mencapai tuan rumah. Jika NodeManager menunjukkan bahwa node tidak aktif, Presto meninggalkan percobaan ulang lebih lanjut, gagal kueri, dan mengembalikan kesalahan. `NODE_DECOMMISSIONED`

Kumpulan parameter konfigurasi berikut memungkinkan Anda untuk mengontrol dan menyesuaikan perilaku Presto jika terjadi penghentian node.


**Konfigurasi presto untuk penanganan kegagalan node**  

| Pengaturan | Deskripsi | Default | 
| --- | --- | --- | 
| query.remote-task.max-backoff-duration | Durasi waktu koordinator melanjutkan upaya untuk mengambil status tugas jarak jauh dari node pekerja. | 10 menit | 
| query.remote-task.quick-terminate-node-failure |  Mengaktifkan kegagalan node cepat jika koordinator tidak dapat mencapai node atau tidak dapat terhubung ke pekerja yang berjalan pada node itu. Nilai `query.remote-task.terminate-on-connect-exception` menentukan apakah koordinator harus mencapai node atau terhubung ke pekerja. Node gagal dalam kueri dan Amazon EMR menghapus node dari daftar pekerja yang tersedia. Ketika ini terjadi, Anda tidak dapat menggunakan node untuk menjadwalkan kueri baru. Ketika Anda menetapkan nilai ini`false`, Presto kembali ke perilaku sebelumnya di mana koordinator Presto kembali mencoba untuk mencapai node (for`query.remote-task.max-backoff-duration`) sebelum menandai node sebagai tidak tersedia dan gagal kueri yang sedang berlangsung pada node.  | true | 
| query.remote-task.terminate-on-connect-exception | Menentukan apakah Amazon EMR harus menjadi node jika host dapat dijangkau tetapi koordinator gagal terhubung ke proses pekerja host. Saat Anda menetapkan nilai initrue, Anda mengaktifkan kegagalan kueri cepat jika host tidak dapat dijangkau. | false | 

# Menggunakan penskalaan otomatis Presto dengan Graceful Decommission
<a name="presto-graceful-autoscale"></a>

Rilis Amazon EMR versi 5.30.0 dan kemudian menyertakan fitur yang dapat Anda gunakan untuk menetapkan masa tenggang untuk tindakan penskalaan tertentu. Masa tenggang memungkinkan tugas Presto untuk terus berjalan sebelum node berakhir karena tindakan skala-in mengubah ukuran atau permintaan kebijakan skala otomatis. Untuk informasi selengkapnya tentang aturan penskalaan, lihat [Memahami aturan skala otomatis](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html#emr-scaling-rules) dalam *Amazon EMR*. Presto autoscaling dengan anggun Dekommission mencegah tugas-tugas baru dari yang dijadwalkan pada node yang menonaktifkan, sementara pada saat yang sama memungkinkan tugas-tugas yang sudah berjalan untuk menyelesaikan sebelum mematikan timeout tercapai. Query yang berjalan akan menyelesaikan eksekusi sebelum node dinonaktifkan. Autoscaling tidak didukung pada armada misalnya.

Anda dapat mengontrol berapa banyak waktu untuk memungkinkan tugas Presto untuk menyelesaikan setelah autoscale mematikan permintaan diterima. Secara default, menutup batas waktu untuk Amazon EMR adalah `0` menit, yang berarti bahwa Amazon EMR segera berakhir node dan setiap tugas Presto berjalan di atasnya, jika diperlukan oleh permintaan skala-in. Untuk mengatur timeout lebih lama untuk tugas Presto di Amazon EMR untuk memungkinkan menjalankan query untuk menyelesaikan sebelum skala ke bawah cluster, gunakan `presto-config` klasifikasi konfigurasi untuk mengatur `graceful-shutdown-timeout` parameter untuk nilai dalam detik atau menit lebih besar dari nol. Untuk informasi selengkapnya, lihat [Konfigurasikan aplikasi](emr-configure-apps.md).

Sebagai contoh, meningkatkan `graceful-shutdown-timeout` Nilai untuk `"30m"` menentukan jangka waktu habis 30 menit. Setelah menutup batas waktu berakhir, node ditandai untuk menonaktifkan paksa dihentikan jika menunggu permintaan tugas untuk menyelesaikan, dan permintaan gagal. Jika tugas query selesai dalam lima menit, node ditandai untuk dekomisioning berakhir pada lima menit, asalkan aplikasi YARN lainnya telah menyelesaikan eksekusi.

**Example Contoh konfigurasi Presto autoscale dengan anggun Decommission**  
Ganti `graceful-shutdown-timeout` nilai dengan jumlah menit yang sesuai untuk setup Anda. Tidak ada nilai maksimum. Contoh di bawah ini menetapkan nilai timeout `1800` detik (30 menit).  

```
[
    {
        "classification": "presto-config",
        "properties": {
            "graceful-shutdown-timeout": "1800s"
        }
    }
]
```

**Batasan**

PrestoDB anggun dekommission tidak bekerja pada cluster EMR di mana konektivitas HTTP dinonaktifkan, seperti ketika `http-server.http.enabled` diatur ke `false`. Trino sama sekali tidak mendukung Graceful Decommission, terlepas dari pengaturannya. `http-server.http.enabled`

# Pertimbangan dengan Presto on Amazon EMR
<a name="emr-presto-considerations"></a>

Pertimbangkan batasan berikut saat Anda menjalankan [Presto](https://aws.amazon.com/big-data/what-is-presto/) di Amazon EMR.

## Perintah baris eksekusi Presto
<a name="emr-presto-command-line-cli"></a>

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
<a name="emr-presto-deployment-config"></a>

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](https://prestodb.io/docs/current/installation/deployment.html). 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`.  | 
|  `config.properties`  |  PrestODB: Dapat dikonfigurasi di Amazon EMR versi 4.0.0 dan yang lebih baru. Gunakan klasifikasi konfigurasi `presto-config`.  | 
|  `hive.properties`  |  PrestODB: Dapat dikonfigurasi di Amazon EMR versi 4.1.0 dan yang lebih baru. Gunakan klasifikasi konfigurasi `presto-connector-hive`.  | 
|  `node.properties`  |  PrestODB: Dapat dikonfigurasi di Amazon EMR versi 5.6.0 dan yang lebih baru. Gunakan klasifikasi konfigurasi `presto-node`.  | 
|  `jvm.config`  |  Tidak dapat dikonfigurasi.  | 

## Instalasi PrestODB
<a name="emr-prestodb-prestosql"></a>

Nama aplikasi *Presto* terus digunakan untuk menginstal PrestoDB pada cluster. 

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
<a name="emr-presto-prestos3"></a>

Dengan Amazon EMR versi 5.12.0 dan yang lebih baru, PrestoDB dapat menggunakan EMRFS. Untuk informasi selengkapnya, lihat [Sistem File EMR (EMRFS) di Panduan Manajemen](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-fs) *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](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) dan [Mengkonfigurasi peran IAM untuk permintaan EMRFS ke Amazon S3](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html) 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 ada`usr/lib/presto/plugin/hive-hadoop2/emrfs`. `/usr/share/aws/emr/emrfs/conf/emrfs-site.xml` Kemudian restart proses presto-server (`sudo presto-server stop`diikuti 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](emr-configure-apps.md).

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

Jika Anda menggunakan PrestOS3FileSystem, gunakan klasifikasi `presto-connector-hive` konfigurasi untuk mengonfigurasi properti PrestOS3. FileSystem Untuk informasi selengkapnya tentang properti yang tersedia, lihat [konfigurasi Amazon S3](https://prestodb.io/docs/current/connector/hive.html#amazon-s3-configuration) di bagian Hive Connector pada dokumentasi Presto. Pengaturan ini tidak berlaku untuk EMRFS.

## Pengaturan default untuk peniruan pengguna akhir
<a name="emr-presto-end-user-impersonation"></a>

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](https://prestodb.io/docs/current/connector/hive-security.html#end-user-impersonation) dalam dokumentasi Presto. Untuk mengubah setelan ini dengan klasifikasi `presto-config` konfigurasi, setel `hive.hdfs.impersonation.enabled` properti ke`false`.

## Port default untuk antarmuka web Presto
<a name="emr-presto-default-web-port"></a>

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](https://prestodb.io/docs/current/installation/deployment.html#config-properties) dalam *Penerapan Presto* bagian Dokumentasi Presto.

## Masalah dengan eksekusi Hive Bucket dalam beberapa rilis
<a name="emr-presto-bucket-execution"></a>

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` properti`false`, seperti yang ditunjukkan pada contoh berikut.

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

# Riwayat rilis presto
<a name="Presto-release-history"></a>

Tabel berikut mencantumkan versi Presto yang disertakan dalam setiap versi rilis Amazon EMR, bersama dengan komponen yang diinstal dengan aplikasi. Untuk versi komponen di setiap rilis, lihat bagian Versi Komponen untuk rilis Anda di[Amazon EMR 7.x versi rilis](emr-release-7x.md),[Amazon EMR versi rilis 6.x](emr-release-6x.md), atau[Amazon EMR versi rilis 5.x](emr-release-5x.md).


**Informasi versi Presto**  

| Label Rilis Amazon EMR | Versi Presto | Komponen Dipasang Dengan Presto | 
| --- | --- | --- | 
| emr-7.12.0 | 0,27-amzn-6 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.11.0 | 0,27-amzn-5 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-hdfs-zkfc, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.10.0 | 0,27-amzn-4 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.9.0 | 0,287-amzn-3 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.8.0 | 0,287-amzn-2 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.7.0 | 0,287-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.6.0 | 0,287-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.5.0 | 0,287-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.4.0 | 0,287-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.3.0 | 0.285-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.2.0 | 0,285-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.36.2 | 0,267-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.1.0 | 0,284-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-7.0.0 | 0,283-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.15.0 | 0,283-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.14.0 | 0,281-amzn-2 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.13.0 | 0,281-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.12.0 | 0,281-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.11.1 | 0,279 amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.11.0 | 0,279 amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.10.1 | 0.278.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.10.0 | 0.278.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.9.1 | 0,276 amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.9.0 | 0,276 amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.8.1 | 0.273.3-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.8.0 | 0.273.3-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.7.0 | 0,272-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.36.1 | 0,267-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.36.0 | 0,267-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.6.0 | 0,267-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.35.0 | 0,26-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.5.0 | 0,261-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.4.0 | 0.254.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.3.1 | 0.245.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.3.0 | 0.245.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.2.1 | 0.238.3-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.2.0 | 0.238.3-amzn-1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.1.1 | 0,232 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.1.0 | 0,232 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.0.1 | 0,230 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-6.0.0 | 0,230 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.34.0 | 0,261-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.33.1 | 0.245.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.33.0 | 0.245.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.32.1 | 0.240.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.32.0 | 0.240.1-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.31.1 | 0.238.3-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.31.0 | 0.238.3-amzn-0 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.30.2 | 0,232 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.30.1 | 0,232 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.30.0 | 0,232 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mariadb-server, presto-coordinator, presto-worker | 
| emr-5.29.0 | 0,227 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.28.1 | 0,227 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.28.0 | 0,227 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hudi, hudi-presto, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.27.1 | 0,224 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.27.0 | 0,224 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.26.0 | 0,220 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.25.0 | 0,220 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.24.1 | 0,219 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.24.0 | 0,219 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.23.1 | 0,215 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.23.0 | 0,215 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.22.0 | 0,215 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.21.2 | 0,215 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.21.1 | 0,215 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.21.0 | 0,215 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.20.1 | 0,214 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.20.0 | 0,214 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.19.1 | 0,212 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.19.0 | 0,212 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.18.1 | 0.210 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.18.0 | 0.210 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.17.2 | 0,206 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.17.1 | 0,206 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.17.0 | 0,206 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.16.1 | 0,203 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.16.0 | 0,203 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.15.1 | 0,194 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.15.0 | 0,194 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.14.2 | 0,194 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.14.1 | 0,194 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.14.0 | 0,194 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.13.1 | 0,194 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.13.0 | 0,194 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.12.3 | 0,188 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.12.2 | 0,188 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.12.1 | 0,188 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.12.0 | 0,188 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.11.4 | 0,187 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.11.3 | 0,187 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.11.2 | 0,187 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.11.1 | 0,187 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.11.0 | 0,187 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.10.1 | 0,187 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.10.0 | 0,187 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.9.1 | 0,184 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.9.0 | 0,184 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.8.3 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.8.2 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.8.1 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.8.0 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.7.1 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.7.0 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.6.1 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.6.0 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.5.4 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.5.3 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.5.2 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.5.1 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.5.0 | 0,170 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.4.1 | 0,166 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.4.0 | 0,166 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.3.2 | 0.157.1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.3.1 | 0.157.1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.3.0 | 0.157.1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.2.3 | 0.157.1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.2.2 | 0.157.1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.2.1 | 0.157.1 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.2.0 | 0,152.3 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.1.1 | 0,152.3 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.1.0 | 0,152.3 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.0.3 | 0,152.3 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.0.2 | 0,150 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.0.1 | 0,150 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 
| emr-5.0.0 | 0,150 | emrfs, emr-goodies, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hive-client, hcatalog-server, mysql-server, presto-coordinator, presto-worker | 