Metastore Hive

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

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

Versi Apache Hive yang didukung

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

Cara Hive menangani metadata

Karena Dataproc Metastore adalah metastore Hive, Anda harus memahami cara layanan ini mengelola metadata Anda.

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

Saat memodifikasi 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 DROP TABLE Hive SQL:

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

  • Tabel eksternal. Dataproc Metastore hanya menghapus metadata. Tindakan ini menjaga data yang terkait dengan tabel.

Direktori gudang Hive

Dataproc Metastore menggunakan direktori warehouse Hive untuk mengelola tabel internal Anda. Direktori gudang Hive adalah tempat data Anda yang 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, hal ini berbeda dengan HMS on-premise, di mana direktori gudang Hive biasanya mengarah ke direktori lokal.

Bucket ini otomatis dibuat 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 terkelola.

Saat Anda membuat layanan Dataproc Metastore, bucket Cloud Storage akan otomatis dibuat untuk Anda di project Anda. Secara default, bucket artefak dan direktori gudang data 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 gudang Hive

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

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

  • Untuk mengakses direktori gudang saat Anda menggunakan folder tingkat teratas (misalnya, gs://mybucket), berikan akses baca dan tulis ke akun layanan Dataproc untuk 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.. Berikan akses baca dan tulis kepada agen layanan ke bucket 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 Penggantian konfigurasi Metastore > hive.metastore.warehouse.dir.

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

    Nilai ini adalah lokasi direktori gudang Hive Anda.

    Nilai hive.metastore.warehouse.dir

Mengubah direktori gudang 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 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 bersama akan memiliki performa yang lebih baik. Misalnya, bucket multi-region Uni Eropa tidak berfungsi dengan baik dengan layanan us-central1. Akses lintas region akan menghasilkan latensi yang lebih tinggi, kurangnya isolasi kegagalan regional, dan biaya untuk bandwidth jaringan lintas region.

Untuk mengubah direktori gudang 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 Dataproc Metastore 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 Anda, jalankan operasi penghapusan Cloud Storage.

Langkah berikutnya