全部产品
Search
文档中心

E-MapReduce:Presto

更新时间:Jun 24, 2025

Presto (yaitu PrestoDB) adalah mesin query SQL terdistribusi yang fleksibel dan skalabel. Topik ini menjelaskan fitur dasar, arsitektur, dan manfaat Presto.

Peringatan

Presto didukung di E-MapReduce (EMR) V3.45.0, V5.11.0, dan versi minor berikutnya. Nomor versi Presto adalah 0.2XX. Di kluster EMR dengan versi minor lebih awal dari V3.45.0 atau V5.11.0, kernel Presto 3XX adalah PrestoSQL atau Trino. Untuk informasi lebih lanjut, lihat Ikhtisar Trino.

Fitur Dasar

Presto diimplementasikan dalam Java, mudah digunakan, serta menawarkan performa tinggi dan skalabilitas kuat. Berikut adalah fitur-fitur utama Presto:

  • Mendukung American National Standards Institute (ANSI) SQL.

  • Kompatibel dengan berbagai sumber data seperti Hive, Hudi, Iceberg, Delta Lake, MySQL, dan PostgreSQL.

  • Menyediakan dukungan untuk struktur data tingkat lanjut:

    • Data array dan peta

    • Data JSON

    • Data sistem informasi geografis (GIS)

    • Data warna

  • Menawarkan skalabilitas yang kuat:

    • Berbagai konektor data

    • Tipe data kustom

    • Fungsi SQL kustom

  • Menggunakan model pipeline untuk memproses data secara real-time dan mengembalikan hasilnya.

  • Menyediakan antarmuka pemantauan:

    • Antarmuka web UI untuk melihat proses eksekusi query.

    • Dukungan protokol Java Management Extensions (JMX).

Arsitektur

Gambar berikut menunjukkan arsitektur Presto.Presto系统组成

Presto memiliki arsitektur master/slave khas yang terdiri dari koordinator dan beberapa worker. Koordinator menyediakan fitur-fitur berikut:

  • Menerima dan mengurai permintaan query, menghasilkan rencana eksekusi, lalu memberikan rencana tersebut kepada worker untuk dieksekusi.

  • Memantau status worker. Setiap worker mempertahankan koneksi heartbeat dengan koordinator.

  • Memelihara data metastore.

Worker menjalankan tugas yang diberikan oleh koordinator, menggunakan konektor untuk membaca data dari sistem penyimpanan eksternal, memproses data, dan mengirimkan hasilnya ke koordinator.

Presto tidak mendukung arsitektur high-availability. Dalam kluster EMR, koordinator hanya ditempatkan pada node master-1-1, sedangkan worker ditempatkan pada semua node inti dan tugas.

Skenario

Presto adalah mesin query SQL terdistribusi untuk layanan gudang data dan analitik data. Presto cocok untuk skenario-skenario berikut:

  • Ekstraksi, transformasi, dan pemuatan (ETL)

  • Query ad hoc

  • Analisis sejumlah besar data terstruktur atau semi-terstruktur

  • Aggregasi sejumlah besar data multidimensi dan analisis laporan

null

Presto adalah produk gudang data. Dukungan untuk transaksi terbatas dan tidak cocok untuk skenario bisnis online.

Manfaat

EMR Presto memiliki keunggulan berikut dibandingkan Presto open source:

  • Anda dapat dengan cepat menerapkan kluster Presto yang memiliki ratusan node.

  • EMR Presto mendukung penskalaan otomatis, sehingga Anda dapat dengan mudah menskalakan kluster Presto.

  • EMR Presto dapat memproses data yang disimpan di Data Lake Formation (DLF), Object Storage Service (OSS), atau OSS-HDFS.

  • EMR Presto menyediakan layanan satu atap tanpa memerlukan operasi dan pemeliharaan (O&M).

Istilah

Model data

Model data adalah bentuk organisasi data. Presto menggunakan tiga tingkat komponen untuk mengelola data: katalog, skema, dan tabel.

  • Katalog: Sebuah katalog berisi beberapa skema dan merujuk ke sumber data eksternal, yang dapat diakses menggunakan konektor. Anda dapat mengeksekusi pernyataan SQL di Presto untuk mengakses satu atau lebih katalog.

  • Skema: Skema adalah instance database yang berisi beberapa tabel data.

  • Tabel: Tabel data sama dengan tabel database biasa.

Konektor

Presto menggunakan konektor bawaan untuk terhubung ke berbagai sumber data eksternal. Presto menyediakan antarmuka penyedia layanan standar (SPI), yang memungkinkan Anda mengembangkan konektor sendiri untuk mengakses sumber data kustom.

Katalog biasanya dikaitkan dengan jenis konektor tertentu yang dikonfigurasi dalam file Properties katalog.

Referensi

Anda dapat mengunjungi https://prestodb.io/docs/XXX/ di browser web untuk melihat dokumentasi Presto open source. Ganti XXX dengan nomor versi layanan Presto yang Anda gunakan.

Sebagai contoh, Anda dapat mengunjungi https://prestodb.io/docs/0.279/ untuk melihat dokumentasi Presto 0.279.