Metastore Hive

Dataproc Metastore adalah metastore Apache Hive (HMS) yang terkelola sepenuhnya, sangat tersedia, dan tanpa server, serta 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 mengetahui informasi selengkapnya, lihat kebijakan versi Hive.

Cara Hive menangani metadata

Karena Dataproc Metastore adalah metastore Hive, penting untuk memahami cara ia mengelola metadata Anda.

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

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

  • Tabel eksternal. Dataproc Metastore hanya menghapus metadata. {i>Function<i} ini menyimpan data yang terkait dengan tabel.

Direktori gudang Hive

Dataproc Metastore menggunakan direktori warehouse Hive untuk mengelola tabel internal Anda. Direktori Hive warehouse 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 lokal, dengan direktori warehouse 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 di properti hive.metastore.warehouse.dir.

Artefak bucket Cloud Storage

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 otomatis dibuat di project Anda. Secara default, bucket artefak dan direktori warehouse mengarah ke bucket yang sama. Anda tidak dapat mengubah lokasi bucket artefak, tetapi dapat mengubah lokasi direktori gudang 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 VM Dataproc Metastore memiliki izin untuk mengakses direktori warehouse Hive. Untuk mengakses direktori warehouse, berikan akses baca dan tulis ke objek penyimpanan bucket kepada agen layanan VM Dataproc Metastore, menggunakan peran roles/storage.objectAdmin. Peran ini harus ditetapkan pada level bucket atau yang lebih tinggi.

Menemukan direktori gudang Hive

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

    Halaman detail Layanan akan terbuka.

  3. Dalam tabel konfigurasi, temukan Penggantian konfigurasi Metastore > hive.metastore.warehouse.dir.

  4. Temukan nilai yang diawali 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 agar mengarah ke lokasi bucket baru.

Jika Anda mengubah direktori warehouse 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 terletak di region yang sama dengan layanan Dataproc Metastore Anda. Meskipun Dataproc Metastore memungkinkan bucket lintas region, resource yang ditempatkan bersama berperforma lebih baik. Misalnya, bucket multi-region Uni Eropa tidak berfungsi optimal dengan layanan us-central1. Akses lintas region menghasilkan latensi yang lebih tinggi, kurangnya isolasi kegagalan regional, dan mengenakan biaya untuk bandwidth jaringan lintas region.

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 Penggantian konfigurasi Metastore > hive.metastore.warehouse.dir.

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

Menghapus bucket Anda

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

Langkah selanjutnya