All Products
Search
Document Center

E-MapReduce:Presto

Last Updated:Aug 15, 2026

Presto (juga dikenal sebagai PrestoDB) adalah mesin kueri SQL terdistribusi yang dirancang untuk analitik interaktif berskala besar. Topik ini mencakup fitur utamanya, arsitektur, model data, serta manfaat menjalankannya di E-MapReduce (EMR).

Catatan penting

E-MapReduce (EMR) versi 3.45.0 dan 5.11.0 atau yang lebih baru mendukung Presto, yang biasanya memiliki nomor versi 0.2XX. Pada versi EMR sebelumnya, komponen Presto dengan nomor versi 3XX menggunakan kernel PrestoSQL atau Trino. Untuk informasi selengkapnya, lihat Trino.

Fitur utama

Presto ditulis dalam Java dan dirancang untuk performa tinggi serta skalabilitas horizontal. Presto menyediakan:

  • Dukungan penuh ANSI SQL.

  • Konektivitas ke berbagai sumber data, termasuk Hive, Hudi, Iceberg, Delta Lake, MySQL, dan PostgreSQL.

  • Dukungan untuk tipe data lanjutan:

    • Array dan map

    • Data JSON

    • Data Geographic Information System (GIS)

    • Data warna

  • Ekstensibilitas melalui berbagai mekanisme:

    • Konektor data yang dapat dipasang (pluggable data connectors)

    • Tipe data kustom

    • Fungsi SQL kustom

  • Pemrosesan pipeline: mengembalikan hasil kueri ke klien secara inkremental saat data diproses, sehingga mempercepat waktu hingga hasil pertama muncul.

  • Observabilitas bawaan:

    • UI web untuk memvisualisasikan eksekusi kueri secara real time.

    • Dukungan protokol JMX untuk pengumpulan metrik.

Arsitektur

Gambar berikut menunjukkan arsitektur sistem Presto.Presto系统组成

Presto menggunakan arsitektur coordinator/worker. Satu node coordinator mengelola perencanaan kueri dan status kluster; beberapa node worker menangani eksekusi kueri terdistribusi.

Coordinator bertanggung jawab untuk:

  • Menerima dan menguraikan kueri, menghasilkan rencana eksekusi, serta mendistribusikan fragmen rencana ke node worker.

  • Memantau kesehatan node worker. Setiap worker mempertahankan koneksi heartbeat dengan coordinator untuk melaporkan statusnya.

  • Memelihara metadata metastore.

Node worker mengeksekusi tugas kueri terdistribusi. Mereka menggunakan konektor untuk membaca dan memproses data dari sistem penyimpanan eksternal, lalu mengembalikan hasilnya ke coordinator.

Saat ini, Presto belum mendukung arsitektur high availability (HA). Di kluster EMR, coordinator berjalan di node master-1-1. Worker berjalan di semua node Core dan Task.

Kasus penggunaan

Presto dioptimalkan untuk beban kerja analitik pada set data besar. Presto cocok digunakan untuk:

  • Extract, transform, and load (ETL)

  • Kueri ad hoc

  • Analisis skala besar terhadap data terstruktur atau semi-terstruktur

  • Agregasi data multidimensi dan pembuatan laporan

Penting

Presto adalah mesin gudang data. Dukungan transaksinya terbatas, sehingga tidak cocok untuk beban kerja online transactional processing (OLTP).

Manfaat Presto di EMR

Dibandingkan dengan Presto open source yang dikelola sendiri, Presto di EMR menyediakan:

  • Pengaturan cepat: siapkan kluster Presto dengan ratusan node dalam hitungan menit.

  • Skalabilitas elastis dengan konfigurasi minimal.

  • Integrasi native dengan tumpukan perangkat lunak EMR, termasuk Data Lake Formation (DLF), Object Storage Service (OSS), dan OSS-HDFS.

  • Operasi yang sepenuhnya dikelola: EMR menangani penyediaan kluster dan O&M sehingga Anda dapat fokus pada kueri.

Konsep

Model data

Presto mengorganisasi data dalam hierarki tiga lapis: catalog, schema, dan table.

  • Catalog: berisi satu atau beberapa schema dan dipetakan ke sumber data eksternal yang dapat diakses oleh konektor. Satu kueri dapat mencakup beberapa catalog.

  • Schema: setara dengan instansiasi basis data; berisi satu atau beberapa tabel.

  • Table: tabel relasional standar dalam suatu schema.

Konektor

Konektor merupakan lapisan integrasi antara Presto dan sumber data eksternal. Presto menyertakan konektor bawaan untuk sistem umum dan menyediakan SPI standar yang dapat Anda implementasikan untuk menghubungkan sumber data kustom.

Umumnya, setiap catalog dikaitkan dengan jenis konektor tertentu, yang didefinisikan dalam file properti catalog tersebut.

Informasi lebih lanjut

Untuk melihat dokumentasi open source Presto sesuai versi Anda, ganti XXX pada URL https://prestodb.io/docs/XXX/ dengan nomor versi komponen Presto Anda, lalu buka URL tersebut di browser.

Sebagai contoh, jika versi Presto Anda adalah 0.279, dokumentasinya tersedia di https://prestodb.io/docs/0.279/.