全部产品
Search
文档中心

E-MapReduce:Impala

更新时间:Jun 24, 2025

Impala adalah mesin query SQL real-time yang menawarkan performa tinggi dan latensi rendah. Anda dapat menggunakan klausa SELECT, JOIN, serta fungsi agregat di Impala untuk menanyakan data yang disimpan dalam Hadoop Distributed File System (HDFS) atau HBase secara real-time.

Informasi latar belakang

Impala menggunakan metadata yang sama, sintaksis SQL (Hive SQL), dan driver Open Database Connectivity (ODBC) seperti Apache Hive, menyediakan platform yang familiar dan terpadu untuk pemrosesan batch atau query real-time.

Catatan penggunaan

Jika Anda ingin menghapus partisi dalam tabel Hive saat menggunakan Impala, jalankan perintah melalui CLI Impala atau Hive untuk menghapus partisi tersebut. Jika Anda langsung menghapus direktori partisi dari jalur file sistem, tabel Hive menjadi tidak tersedia.

Manfaat

Untuk meminimalkan latensi, Impala menggunakan mesin query terdistribusi, bukan MapReduce, untuk mengakses data. Mesin ini mirip dengan yang ada di sistem manajemen basis data relasional (RDBMS). Performanya bervariasi berdasarkan jenis query dan konfigurasi, serta lebih cepat beberapa kali lipat dibandingkan Hive.

Dibandingkan dengan Hadoop, Impala menawarkan manfaat berikut untuk query SQL:

  • Pemrosesan lokal dilakukan pada node data, membantu menghindari hambatan jaringan.

  • Tidak diperlukan konversi format data, sehingga tidak ada biaya tambahan untuk konversi tersebut.

  • Anda dapat menggunakan penyimpanan metadata tunggal, terbuka, dan terpadu.

  • Semua data dapat segera ditanyakan tanpa penundaan untuk operasi extract, transform, dan load (ETL).

  • Semua perangkat keras digunakan untuk query Impala dan MapReduce.

  • Hanya diperlukan satu alat mesin tunggal untuk menerapkan skalabilitas.

Untuk informasi lebih lanjut tentang Impala, lihat Apache Impala.

Komponen Impala

Gambar berikut menunjukkan komponen-komponen Impala dalam kluster E-MapReduce (EMR). Impala

Impala terdiri dari komponen-komponen berikut:

  • Impalad

    Proses Impalad ditempatkan pada node inti dan tugas serta dapat diskalakan.

    Komponen inti dari Impala adalah Impala Daemon, yang berjalan di setiap node. Impala Daemon diwakili oleh proses bernama Impalad. Impala Daemon digunakan untuk membaca dan menulis data ke file, menerima pernyataan query yang dikirim menggunakan perintah impala-shell, Hue, Java Database Connectivity (JDBC), atau ODBC, memparalelkan query, serta mendistribusikan tugas ke node Impala dalam kluster. Selain itu, Impala Daemon juga digunakan untuk mengembalikan hasil query yang dihitung secara lokal kembali ke node koordinator.

  • Statestored

    Proses Statestored ditempatkan pada node master-1-1.

    StateStore Daemon diwakili oleh proses bernama Statestored. StateStore Daemon digunakan untuk mengelola status kesehatan semua proses Impalad dalam kluster dan meneruskan hasil status ke semua proses Impalad. Jika proses Impalad tidak tersedia karena pengecualian node, pengecualian jaringan, atau masalah perangkat lunak, StateStore Daemon memberi tahu proses Impalad lainnya tentang anomali tersebut. Saat permintaan query baru dimulai, permintaan query tidak dikirim ke proses Impalad yang tidak tersedia.

  • Catalogd

    Proses Catalogd ditempatkan pada node master-1-1.

    Catalog Daemon diwakili oleh proses bernama Catalogd. Catalog Daemon digunakan untuk menyinkronkan perubahan metadata pada setiap proses Impalad ke proses Impalad lainnya dalam kluster yang sama. Kami merekomendasikan agar Anda menjalankan StateStore Daemon dan Catalog Daemon pada node yang sama karena semua permintaan dikirim melalui proses Statestored.