Versi tambahan

Halaman ini menjelaskan cara menggunakan fitur versi tambahan dengan Dataproc Metastore.

Versi tambahan memungkinkan Anda menghubungkan dua versi metastore Hive yang berbeda ke satu layanan Dataproc Metastore. Konfigurasi ini memungkinkan Anda mendukung beberapa mesin pemrosesan data yang perlu dijalankan di berbagai versi metastore Hive.

Misalnya, dengan menggunakan versi tambahan, Anda dapat menghubungkan beberapa cluster Dataproc ke layanan Dataproc Metastore yang sama. Dalam konfigurasi ini, satu cluster dapat menjalankan Dataproc versi 2.0, sedangkan cluster lainnya menjalankan Dataproc versi 1.5. Cluster Dataproc 2.0 dapat terhubung ke endpoint yang mengekspos Hive versi 3.1.2, sedangkan cluster Dataproc 1.5 terhubung ke endpoint yang mengekspos Hive versi 2.3.6.

Cara kerja versi tambahan

Saat Anda mengaktifkan versi tambahan, Dataproc Metastore akan mengekspos endpoint terpisah untuk setiap versi metastore Hive. Namun, kedua endpoint tersebut terus berbagi database metadata yang sama.

Fitur ini tidak memungkinkan Anda menggunakan kumpulan metadata yang berbeda dengan satu layanan Dataproc Metastore. Sebagai gantinya, API ini menawarkan cara bagi Anda untuk memperluas dan meningkatkan kompatibilitas antarlayanan.

Pertimbangan

Umum

  • Anda hanya dapat membuat satu versi tambahan untuk setiap layanan Dataproc Metastore.

  • Versi tambahan harus dikonfigurasi untuk menggunakan versi metastore Hive yang lebih rendah daripada versi utama.

  • Versi tambahan mempertahankan file log terpisah dari versi utama. Untuk men-debug masalah metastore Hive, Anda dapat menggunakan Cloud Logging.

Dukungan fitur

  • Versi tambahan tidak mendukung fitur berikut:

  • Beberapa metode Hive mungkin tidak kompatibel antara versi tambahan dan utama. Kompatibilitas ini bergantung pada versi Hive yang Anda gunakan untuk versi utama dan tambahan serta metode yang kompatibel di antara versi Hive.

  • Tidak semua fungsi instance Dataproc Metastore utama didukung oleh versi tambahan. Misalnya, menyisipkan data ke dalam tabel transaksional Hive tidak didukung dengan antarmuka klien Hive 2 dengan versi tambahan 2.3.6. Namun, operasi ini didukung dengan klien Hive 3 yang berinteraksi dengan versi utama 3.1.2.

    Jika fitur dalam versi Hive yang lebih rendah tidak digunakan lagi dalam versi Hive yang lebih tinggi, versi tambahan yang lebih rendah yang sesuai tidak akan mendukung fitur yang tidak digunakan lagi. Misalnya, Hive 2 mendukung indeks, tetapi versi tambahan yang menjalankan Hive 2.3.6 tidak akan mendukung indeks jika versi utama menjalankan Hive 3.1.2.

  • Pembuatan tabel transaksional menggunakan versi tambahan atau penyisipan data apa pun dalam tabel transaksional di versi tambahan akan dicegah.

Properti bersama antar-versi

Saat Anda membuat versi tambahan, beberapa properti dibagikan dan tetap sama antara versi tambahan dan versi utama. Properti lainnya tidak dibagikan dan terpisah antara kedua versi.

Tabel berikut mencantumkan perbedaan tersebut.

Properti Umum Memisahkan
Endpoint
Penggantian konfigurasi Hive*
Konfigurasi Kerberos
Protokol endpoint (Thrift/gRPC)
Port thrift
Bucket Cloud Storage artefak
Tingkat
Masa pemeliharaan
Saluran rilis
Konfigurasi enkripsi
Jenis database
Tombol sinkronisasi Data Catalog
Metrik jumlah permintaan
Konfigurasi jaringan

* Penggantian konfigurasi Hive tetap terpisah antara versi tambahan dan versi utama. Namun, versi tambahan mereferensikan daftar penggantian yang digabungkan (utama+tambahan). Dalam hal ini, konfigurasi tambahan lebih diutamakan daripada konfigurasi utama.

Sebelum memulai

Peran yang Diperlukan

Untuk mendapatkan izin yang Anda perlukan guna membuat Metastore Dataproc yang menggunakan versi tambahan, minta administrator untuk memberi Anda peran IAM berikut di project Anda, berdasarkan prinsip hak istimewa minimum:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin metastore.services.create, yang diperlukan untuk membuat Metastore Dataproc yang menggunakan versi tambahan.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran dan izin Dataproc Metastore tertentu, lihat Mengelola akses Dataproc dengan IAM.

Membuat versi tambahan untuk layanan baru

Contoh berikut menunjukkan versi singkat langkah-langkah yang Anda ikuti untuk mengaktifkan versi tambahan. Untuk mengetahui petunjuk langkah demi langkah lengkap tentang seluruh proses yang harus Anda ikuti, lihat Membuat Dataproc Metastore.

Konsol

  1. Di konsol Google Cloud, buka halaman Metastore Dataproc:

    Membuka Dataproc Metastore

  2. Di bagian atas halaman Dataproc Metastore, klik tombol Create.

    Halaman Buat layanan akan terbuka.

  3. Di bagian Konfigurasi versi tambahan, aktifkan versi tambahan.

  4. Klik Tambahkan Versi Tambahan.

    1. Masukkan nama untuk versi tambahan Anda.

    2. Pilih versi untuk versi tambahan Anda.

    3. Opsional: Untuk menerapkan pemetaan ke versi tambahan, klik + Tambahkan Penggantian.

    4. Klik Done.

  5. Pilih konfigurasi lainnya untuk layanan Anda, sesuai kebutuhan.

  6. Klik Kirim.

gcloud CLI

  1. Untuk membuat layanan Dataproc Metastore dengan versi bantuan, jalankan salah satu perintah gcloud metastore services create berikut:

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions=AUXILIARY_VERSIONS, ...
    
    • SERVICE: nama layanan Metastore Dataproc Anda.
    • LOCATION: region tempat Anda ingin membuat layanan Dataproc Metastore.
    • AUXILIARY_VERSIONS: daftar yang dipisahkan koma dari versi metastore Hive yang akan di-deploy untuk versi tambahan Anda. Hanya satu versi tambahan yang didukung. Gunakan format "2.3.6" berikut.
    • AUXILIARY_VERSIONS_FROM_FILE: jalur ke file YAML yang berisi konfigurasi versi tambahan. Untuk mengetahui informasi selengkapnya dan contoh, lihat dokumentasi SDK.
  2. Pastikan pembuatan berhasil.

curl

Untuk membuat layanan Dataproc Metastore dengan versi tambahan, gunakan metode create.

curl -X POST -s -i \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
     -H "Content-Type:application/json" \
     https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

Ganti kode berikut:

  • SERVICE_ID: nama layanan Metastore Dataproc baru Anda.
  • PROJECT_ID: project ID Google Cloud tempat Anda membuat layanan Dataproc Metastore.
  • LOCATION: region tempat Metastore Dataproc Anda berada.
  • AUX_VERSIONS: daftar versi metastore Hive yang dipisahkan koma untuk di-deploy. Hanya satu versi tambahan yang didukung.

Memperbarui versi tambahan untuk layanan yang ada

Petunjuk berikut menunjukkan cara mengupdate layanan Dataproc Metastore yang ada dan menggunakan versi tambahan.

Saat menjalankan operasi update, Anda dapat menyelesaikan tugas berikut:

  • Tambahkan versi tambahan baru.
  • Menghapus versi tambahan yang ada.
  • Menambahkan atau mengubah penggantian versi tambahan yang ada.

Konsol

  1. Di konsol Google Cloud, buka halaman Metastore Dataproc:

    Membuka Dataproc Metastore

  2. Di halaman Dataproc Metastore, klik nama layanan dari layanan yang ingin Anda perbarui.

    Halaman Detail layanan akan terbuka.

  3. Di tab Configuration, klik Edit.

    Halaman Edit layanan akan terbuka.

  4. Di bagian Auxiliary version config, klik tombol untuk mengaktifkan atau menonaktifkan versi tambahan.

    Anda dapat menyelesaikan tugas-tugas berikut:

    1. Untuk menghapus versi tambahan yang ada, klik Hapus.

    2. Untuk menambahkan versi tambahan baru, klik Tambahkan Versi Tambahan.

    3. Untuk menerapkan pemetaan penggantian ke versi tambahan, klik + Tambahkan Penggantian.

  5. Klik Kirim.

gcloud CLI

  1. Untuk mengupdate layanan Dataproc Metastore yang menggunakan versi tambahan, jalankan salah satu perintah gcloud metastore services update berikut:

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    atau

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    Ganti kode berikut:

    • SERVICE: nama layanan Metastore Dataproc Anda.
    • LOCATION: region tempat Metastore Dataproc Anda berada.
    • AUXILIARY_VERSIONS: daftar versi metastore Hive tambahan yang dipisahkan koma untuk di-deploy.
    • AUXILIARY_VERSIONS_FROM_FILE: jalur ke file YAML yang berisi konfigurasi versi tambahan; untuk informasi selengkapnya dan contoh, lihat dokumentasi SDK.
  2. Verifikasi bahwa update berhasil.

curl

Untuk mengupdate layanan Dataproc Metastore yang menggunakan versi bantuan, gunakan metode patch.

curl -X PATCH -s -i \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
   -H "Content-Type:application/json" \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions

Ganti kode berikut:

  • SERVICE_ID: nama layanan Metastore Dataproc Anda.
  • PROJECT_ID: project ID Google Cloud tempat Anda membuat cluster layanan Dataproc Metastore.
  • LOCATION: region tempat Metastore Dataproc Anda berada.
  • AUX_VERSIONS: daftar versi metastore Hive tambahan yang dipisahkan koma untuk di-deploy.

Langkah selanjutnya