Metastore Hive

Dataproc Metastore adalah metastore Apache Hive (HMS) yang terkelola sepenuhnya, sangat tersedia, autohealing, dan tanpa server yang berjalan di Google Cloud.

Untuk mengelola metadata sepenuhnya, Dataproc Metastore memetakan data Anda ke tabel Apache Hive.

Versi Apache Hive yang didukung

Dataproc Metastore hanya mendukung versi Apache Hive tertentu. Untuk informasi selengkapnya, lihat kebijakan versi Hive.

Cara Hive menangani metadata

Karena Dataproc Metastore adalah metastore Hive, Anda perlu memahami cara pengelolaan metadata.

Secara default, semua aplikasi Hive dapat memiliki tabel internal terkelola atau tabel eksternal yang tidak dikelola. Artinya, metadata yang Anda simpan di layanan Dataproc Metastore dapat ada di tabel internal dan eksternal.

Saat mengubah data, layanan Dataproc Metastore (Hive) memperlakukan tabel internal dan eksternal secara berbeda.

  • Tabel internal. Mengelola metadata dan data tabel.
  • Tabel eksternal. Hanya mengelola metadata.

Misalnya, jika Anda menghapus definisi tabel menggunakan pernyataan SQL Hive DROP TABLE:

drop table foo
  • Tabel internal. Dataproc Metastore menghapus semua metadata. Tindakan ini juga akan menghapus file yang terkait dengan tabel.

  • Tabel eksternal. Metastore Dataproc hanya menghapus metadata. Fungsi ini menyimpan data yang terkait dengan tabel.

Direktori gudang Hive

Dataproc Metastore menggunakan direktori warehouse Hive untuk mengelola tabel internal Anda. Direktori warehouse Hive adalah tempat data sebenarnya disimpan.

Saat Anda menggunakan layanan Dataproc Metastore, direktori warehouse Hive default adalah bucket Cloud Storage. Dataproc Metastore hanya mendukung penggunaan bucket Cloud Storage untuk direktori warehouse. Sebagai perbandingan, ini berbeda dengan HMS on-premise, tempat direktori penyimpanan Hive biasanya mengarah ke direktori lokal.

Bucket ini dibuat secara otomatis untuk Anda setiap kali Anda membuat layanan Dataproc Metastore. Nilai ini dapat diubah dengan menetapkan penggantian konfigurasi Hive Metastore pada properti hive.metastore.warehouse.dir.

Bucket Cloud Storage artefak

Bucket artefak menyimpan artefak Dataproc Metastore Anda, seperti metadata yang diekspor dan data tabel internal yang dikelola.

Saat Anda membuat layanan Dataproc Metastore, bucket Cloud Storage akan otomatis dibuat untuk Anda di project Anda. Secara default, bucket artefak dan direktori warehouse mengarah ke bucket yang sama. Anda tidak dapat mengubah lokasi bucket artefak, tetapi Anda dapat mengubah lokasi direktori warehouse Hive.

Bucket artefak berada di lokasi berikut:

  • gs://your-artifacts-bucket/hive-warehouse.
  • Misalnya, gs://gcs-your-project-name-0825d7b3-0627-4637-8fd0-cc6271d00eb4.

Mengakses direktori warehouse Hive

Setelah bucket dibuat secara otomatis untuk Anda, pastikan akun layanan Dataproc Anda memiliki izin untuk mengakses direktori warehouse Hive.

  • Untuk mengakses direktori warehouse di tingkat objek (misalnya, gs://mybucket/object), berikan akses baca dan tulis ke objek penyimpanan bucket kepada akun layanan Dataproc, menggunakan peran roles/storage.objectAdmin. Peran ini harus ditetapkan di tingkat bucket atau yang lebih tinggi.

  • Untuk mengakses direktori warehouse saat Anda menggunakan folder tingkat teratas, (misalnya, gs://mybucket), berikan akses baca dan tulis ke akun layanan Dataproc ke objek penyimpanan bucket, menggunakan peran roles/storage.storageAdmin.

Jika direktori warehouse Hive tidak berada dalam project yang sama dengan Dataproc Metastore, pastikan agen layanan Dataproc Metastore memiliki izin untuk mengakses direktori warehouse Hive. Agen layanan untuk project Dataproc Metastore adalah service-PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com. Berikan akses baca dan tulis ke bucket kepada agen layanan menggunakan peran roles/storage.objectAdmin.

Menemukan direktori warehouse Hive

  1. Buka halaman Dataproc Metastore.
  2. Klik nama layanan Anda.

    Halaman detail Layanan akan terbuka.

  3. Di tabel konfigurasi, temukan Metastore config overrides > hive.metastore.warehouse.dir.

  4. Temukan nilai yang dimulai dengan gs://.

    Nilai ini adalah lokasi direktori warehouse Hive Anda.

    Nilai hive.metastore.warehouse.dir

Mengubah direktori warehouse Hive

Untuk menggunakan bucket Cloud Storage Anda sendiri dengan Dataproc Metastore, tetapkan penggantian konfigurasi Hive Metastore untuk mengarah ke lokasi bucket baru.

Jika Anda mengubah direktori gudang default, ikuti rekomendasi berikut.

  • Jangan gunakan root bucket Cloud Storage (gs://mybucket) untuk menyimpan tabel Hive.

  • Pastikan akun layanan VM Dataproc Metastore Anda memiliki izin untuk mengakses direktori warehouse Hive.

  • Untuk mendapatkan hasil terbaik, gunakan bucket Cloud Storage yang berada di region yang sama dengan layanan Dataproc Metastore Anda. Meskipun Dataproc Metastore mengizinkan bucket lintas region, resource yang ditempatkan berdekatan berperforma lebih baik. Misalnya, bucket multi-region Uni Eropa tidak berfungsi dengan baik dengan layanan us-central1. Akses lintas region menghasilkan latensi yang lebih tinggi, kurangnya isolasi kegagalan regional, dan biaya untuk bandwidth jaringan lintas region.

Untuk mengubah direktori penyimpanan Hive

  1. Buka halaman Dataproc Metastore.
  2. Klik nama layanan Anda.

    Halaman detail Layanan akan terbuka.

  3. Di tabel konfigurasi, temukan bagian Metastore config overrides > hive.metastore.warehouse.dir.

  4. Ubah nilai hive.metastore.warehouse.dir ke lokasi bucket baru Anda. Contoh, gs://my-bucket/path/to/location.

Menghapus bucket

Menghapus layanan Metastore Dataproc tidak akan otomatis menghapus bucket artefak Cloud Storage Anda. Bucket Anda tidak otomatis dihapus karena mungkin berisi data pasca-layanan yang berguna. Untuk menghapus bucket, jalankan operasi penghapusan Cloud Storage.

Langkah selanjutnya