Menggunakan Apache Hive di Dataproc

Last reviewed 2023-05-08 UTC

Arsitektur referensi ini menjelaskan manfaat menggunakan Apache Hive di Dataproc secara efisien dan fleksibel dengan menyimpan data Hive di Cloud Storage dan menghosting metastore Hive di database MySQL dalam Cloud SQL.

Dokumen ini ditujukan untuk para arsitek cloud dan data engineer yang tertarik untuk men-deploy Apache Hive di Dataproc dan Hive Metastore di Cloud SQL.

Arsitektur

Diagram berikut menunjukkan siklus proses kueri Hive.

Diagram arsitektur satu region.

Dalam diagram, siklus proses kueri Hive mengikuti langkah-langkah berikut:

  1. Klien Hive mengirimkan kueri ke server Hive yang berjalan di cluster Dataproc ephemeral.
  2. Server Hive memproses kueri dan meminta metadata dari layanan metastore.
  3. Layanan Metastore mengambil metadata Hive dari Cloud SQL melalui Proxy Cloud SQL.
  4. Server Hive memuat data dari warehouse Hive yang berada di bucket regional dalam Cloud Storage.
  5. Server Hive menampilkan hasilnya ke klien.

Alternatif desain

Bagian berikut menyajikan alternatif desain yang mungkin cocok untuk arsitektur ini.

Arsitektur multi-regional

Pertimbangkan untuk menggunakan arsitektur multi-regional jika Anda perlu menjalankan server Hive di berbagai region geografis. Dalam hal ini, Anda harus membuat cluster Dataproc terpisah yang dikhususkan untuk menghosting layanan metastore dan yang bertempat tinggal di region yang sama dengan instance Cloud SQL.

Layanan metastore terkadang dapat mengirim permintaan bervolume tinggi ke database MySQL, sehingga layanan metastore harus tetap dekat secara geografis dengan database MySQL untuk meminimalisir dampak terhadap performa. Sebagai perbandingan, server Hive biasanya mengirimkan permintaan yang jauh lebih sedikit ke layanan metastore. Oleh karena nya, server Hive dan layanan metastore mungkin lebih dapat diterima untuk digunakan di region yang berbeda meskipun latensi meningkat.

Layanan metastore hanya dapat berjalan di node master Dataproc, bukan pada node worker. Dataproc menerapkan minimal dua node worker di cluster standar dan di cluster ketersediaan tinggi.

Agar tidak membuang resource pada node pekerja yang tidak digunakan, Anda dapat membuat cluster node tunggal untuk layanan metastore. Untuk mencapai ketersediaan tinggi, Anda dapat membuat beberapa cluster node tunggal.

Proxy Cloud SQL hanya perlu diinstal pada cluster layanan metastore saja, karena hanya cluster layanan metastore yang perlu terhubung langsung ke instance Cloud SQL. Server Hive kemudian mengarah ke cluster layanan metastore dengan menetapkan properti hive.metastore.uris ke daftar URI yang dipisahkan koma. Contoh:

thrift://metastore1:9083,thrift://metastore2:9083

Anda juga dapat mempertimbangkan untuk menggunakan bucket dual-region atau multi-region jika data Hive perlu diakses dari server Hive yang berada di beberapa lokasi. Pilihan antara berbagai jenis lokasi bucket bergantung pada kasus penggunaan Anda. Anda harus menyeimbangkan latensi, ketersediaan, dan biaya.

Diagram berikut menunjukkan contoh arsitektur multi-regional.

Diagram arsitektur Hive multi-region.

Seperti yang dapat Anda lihat, skenario multiregional sedikit lebih kompleks dan jauh lebih andal. Panduan deployment untuk arsitektur referensi ini menggunakan skenario satu region.

Keuntungan arsitektur multi-regional

Memisahkan resource komputasi dan penyimpanan memberikan beberapa keuntungan, di antaranya:

  • Fleksibilitas dan ketangkasan: Anda dapat menyesuaikan konfigurasi cluster untuk workload Hive tertentu dan menskalakan setiap cluster secara terpisah sesuai kebutuhan.
  • Hemat biaya: Anda dapat menjalankan cluster ephemeral saat perlu menjalankan tugas Hive, lalu menghapusnya saat tugas tersebut selesai. Resource yang diperlukan tugas Anda hanya aktif ketika sedang digunakan saja, sehingga Anda hanya membayar sesuai penggunaan. Anda juga dapat menggunakan preemptible VM untuk pemrosesan data non-kritis atau untuk membuat cluster yang sangat besar dengan total biaya yang lebih rendah.
  • Ketahanan: Agar mudah, arsitektur referensi ini hanya menggunakan satu instance master. Untuk meningkatkan ketahanan pada beban kerja produksi, Anda harus mempertimbangkan dalam membuat cluster dengan tiga instance master menggunakan mode ketersediaan tinggi Dataproc.

Pengoptimalan biaya

Referensi arsitektur dan deployment ini menggunakan komponen Google Cloud yang dapat ditagih, sebagai berikut:

  • Dataproc
  • Cloud Storage
  • Cloud SQL

Anda dapat menggunakan kalkulator harga untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan.

Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Deployment

Untuk men-deploy arsitektur ini, lihat Men-deploy Apache Hive di Dataproc.

Langkah berikutnya

  • Coba BigQuery, data warehouse perusahaan yang serverless, sangat skalabel, dan murah dari Google.
  • Lihat panduan tentang memigrasikan workload Hadoop ke Google Cloud.
  • Lihat tindakan inisialisasi ini untuk mengetahui detail selengkapnya tentang cara menggunakan Hive HCatalog di Dataproc.
  • Pelajari cara mengonfigurasi Cloud SQL untuk ketersediaan tinggi guna meningkatkan keandalan layanan.
  • Untuk mengetahui lebih banyak tentang arsitektur referensi, diagram, dan praktik terbaik lainnya, jelajahi Pusat Arsitektur Cloud.