Membuat layanan federasi metadata

Halaman ini menjelaskan cara membuat layanan federasi metadata untuk Dataproc Metastore. Layanan federasi memungkinkan Anda mengakses metadata yang disimpan di beberapa sumber dari satu endpoint gRPC.

Untuk mengetahui informasi selengkapnya tentang cara kerja federasi dan batasannya, lihat Tentang federasi metadata.

Sebelum memulai

Peran yang Diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat layanan federasi dan melampirkan cluster Dataproc, dengan mengikuti prinsip hak istimewa paling rendah, minta administrator untuk memberi Anda peran IAM berikut:

  • Untuk mengakses layanan federasi: Federation accessor (roles/metastore.federationAccessor) di akun pengguna atau akun layanan
  • Untuk memberikan kontrol penuh atas semua resource Dataproc Metastore: Editor Dataproc Metastore (roles/metastore.editor) di akun pengguna atau akun layanan
  • Untuk menyelesaikan operasi metadata di Dataproc Metastore yang dikonfigurasi dengan layanan federasi: Pemilik metastore (metastore.metadataEditor) di akun pengguna atau akun layanan
  • Untuk membuat cluster Dataproc: Dataproc worker (roles/dataproc.worker) di akun layanan VM Dataproc
  • (Opsional) Untuk mengakses set data BigQuery: Gunakan peran standar BigQuery yang sesuai dan berlaku untuk kasus penggunaan Anda di akun pengguna atau akun layanan
  • (Opsional) Untuk mengakses Dataplex Universal Catalog Lakes (Pratinjau): Gunakan peran bawaan Dataplex Universal Catalog yang sesuai dan berlaku untuk kasus penggunaan Anda di akun pengguna atau akun layanan

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

Peran bawaan ini berisi izin yang diperlukan untuk membuat layanan gabungan dan melampirkan cluster Dataproc, dengan mengikuti prinsip hak istimewa terendah. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat layanan gabungan dan melampirkan cluster Dataproc, mengikuti prinsip hak istimewa terendah:

  • Untuk membuat Dataproc Metastore: metastore.services.create di akun pengguna atau akun layanan
  • Untuk mencantumkan, mendapatkan, membuat, memperbarui, dan menghapus layanan federasi: metastore.federations.create, metastore.federations.update, metastore.federations.delete, metastore.federations.get metastore.federations.list di akun pengguna atau akun layanan
  • Untuk menyelesaikan operasi metadata di Dataproc Metastore: metastore.services.get, metastore.services.use, metastore.databases.create, metastore.databases.update, metastore.databases.deletemetastore.databases.get,metastore.databases.list, metastore.databases.getIamPolicy, metastore.tables.create, metastore.tables.update, metastore.tables.delete, metastore.tables.get, metastore.tables.list, metastore.tables.getIamPolicy di akun pengguna atau akun layanan
  • (Opsional) Untuk menambahkan layanan multi-regional ke federasi: metastore.services.get di akun Dataproc Metastore
  • (Opsional) Untuk mengakses set data BigQuery: For more information, see BigQuery permissions di akun pengguna atau akun layanan
  • (Opsional) Untuk mengakses Dataplex Universal Catalog Lakes (Pratinjau): For more information, see Dataplex Universal Catalog permissions di akun pengguna atau akun layanan

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 Metastore dengan Identity and Access Management.

Membuat layanan federasi

Petunjuk berikut menunjukkan cara membuat layanan federasi dan melampirkannya ke sumber. Setelah menyelesaikan langkah-langkah ini, Anda dapat melampirkan layanan federasi ke cluster Dataproc.

Untuk mempelajari lebih lanjut sumber gabungan dan batasannya, lihat sumber metadata.

Konsol

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

    Membuka Dataproc Metastore

  2. Di menu navigasi Dataproc, klik Federasi.

    Halaman layanan metastore Federated akan terbuka.

  3. Di panel menu metastore Federated, klik Create.

    Halaman Create federation service akan terbuka.

  4. Di kolom Federation name, masukkan nama unik untuk layanan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Konvensi penamaan resource.

  5. Pilih Lokasi data.

    Pastikan Anda membuat layanan federasi di region yang sama dengan sumber Dataproc Metastore Anda.

  6. Pilih Versi Hive.

  7. Untuk menambahkan sumber bagi layanan federasi Anda, klik Tambahkan Sumber.

    Anda dapat menambahkan satu atau beberapa sumber. Sumber pertama yang Anda tambahkan dalam daftar ini akan otomatis ditetapkan sebagai metastore utama Anda. Anda dapat memperbarui pengurutan sumber setelah pembuatan.

    1. Untuk Jenis sumber, pilih sumber federasi Anda.

      Anda dapat memilih instance Dataproc Metastore, project yang berisi satu atau beberapa set data BigQuery, atau lake Katalog Universal Dataplex (Pratinjau)).

    2. Di kolom Sumber, masukkan informasi berikut:

      • Untuk layanan Dataproc Metastore.

        1. Di kolom Selected project, klik Browse, lalu pilih project yang berisi Dataproc Metastore yang ingin Anda gunakan sebagai sumber.

          Pastikan sumber Dataproc Metastore Anda menggunakan versi Hive yang kompatibel dengan layanan federasi Anda. Metastore utama Anda harus menggunakan versi Hive yang lebih baru atau sama dengan layanan federasi Anda.

        2. Di drop-down Layanan metastore, pilih Dataproc Metastore yang ingin Anda gunakan sebagai sumber.

        3. (Opsional) Centang kotak Tampilkan layanan Metastore di luar region saya. Daftar ini mencantumkan layanan Dataproc Metastore dari region lain, termasuk multi-region.

          Untuk mengaktifkan federasi di layanan Dataproc Metastore multi-regional, pilih layanan Dataproc Metastore multi-regional dari daftar ini.

      • Untuk BigQuery. Di kolom Selected project, klik Browse, lalu pilih project ID project yang berisi Set Data BigQuery.

      • Untuk Katalog Universal Dataplex (Pratinjau). Di kolom Selected project, klik Browse, lalu pilih project ID project yang berisi Data Lake Dataplex Universal Catalog.

    3. Klik Selesai.

  8. Untuk membuat dan memulai layanan, klik Submit.

    Sekarang Anda dapat melampirkan layanan federasi ke cluster Dataproc.

gcloud CLI

Untuk membuat federasi dengan Dataproc Metastore, jalankan perintah berikut.

gcloud metastore federations create FEDERATION \
  --location LOCATION \
  --backends RANK=BACKEND_METASTORE \
  --hive-metastore-version HIVE_VERSION

Ganti kode berikut:

  • FEDERATION: Nama layanan federasi Dataproc Metastore Anda.
  • LOCATION: Google Cloud Region tempat federasi akan dibuat.
  • RANK: Nomor peringkat untuk setiap metastore backend yang digunakan untuk mengatasi konflik nama database. Layanan federasi mengirimkan kueri ke nomor dengan peringkat lebih rendah terlebih dahulu. Misalnya, metastore backend dengan peringkat 1 dikueri sebelum metastore dengan peringkat 2. Nilai ini harus berupa bilangan bulat. Contoh, --backends 1=first_backend_metastore, 2=second_backend_metastore.
  • BACKEND_METASTORE: Resource relatif dari setiap metastore backend dalam format berikut: METASTORE_TYPE:METASTORE_NAME. Untuk layanan Dataproc Metastore, gunakan dpms:SERVICE_ID. SERVICE_ID dapat ditemukan di lokasi berikut: projects/<project>/locations/<location>/services/<service-id>.
  • HIVE_VERSION: Versi Hive Metastore (3.1.2 atau 2.3.6).

Memperbarui layanan federasi

Petunjuk berikut menunjukkan cara memperbarui layanan federasi. Anda dapat menyelesaikan tugas berikut:

  • Tambahkan sumber ke layanan federasi.
  • Menghapus sumber dari layanan federasi.
  • Mengubah pengurutan sumber dari sumber yang ada dalam layanan federasi.
  • Menghapus layanan federasi secara permanen. Setelah Anda menghapus layanan, semua resourcenya akan dilepaskan.

Konsol

https://cloud.google.com/dataproc-metastore/docs/create-federation

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

    Membuka Dataproc Metastore

  2. Di menu navigasi Dataproc, klik Federasi.

    Halaman layanan metastore Federated akan terbuka.

  3. Di halaman layanan metastore Federated, klik nama layanan yang ingin Anda perbarui.

    Halaman Detail layanan akan terbuka.

  4. Di panel menu, klik Edit.

    Halaman Edit layanan akan terbuka.

  5. Pilih nilai yang ingin Anda perbarui.

  6. Untuk memperbarui layanan, klik Kirim.

gcloud CLI

Untuk memperbarui federasi dengan Dataproc Metastore, jalankan perintah berikut.

gcloud metastore federations update FEDERATATON \
  --location=LOCATION \
  --backends RANK1=BACKEND_METASTORE1,RANK2=BACKEND_METASTORE2
  • FEDERATION: Nama layanan federasi Dataproc Metastore Anda.
  • LOCATION: Google Cloud Region tempat membuat federasi.
  • RANK: Nomor peringkat untuk setiap metastore backend yang digunakan untuk mengatasi konflik nama database. Layanan federasi mengirimkan kueri ke nomor dengan peringkat lebih rendah terlebih dahulu. Misalnya, metastore backend dengan peringkat 1 dikueri sebelum metastore dengan peringkat 2. Nilai ini harus berupa bilangan bulat. Contoh, --backends 2=first_backend_metastore, 2=second_backend_metastore.
  • BACKEND_METASTORE: Resource relatif dari setiap metastore backend dalam format berikut: METASTORE_TYPE:METASTORE_NAME. Untuk layanan Dataproc Metastore, gunakan dpms:SERVICE_ID. SERVICE_ID dapat ditemukan di lokasi berikut: projects/<project>/locations/<location>/services/<service-id>.
  • HIVE_VERSION: Versi Hive Metastore (3.1.2 atau 2.3.6).

Melampirkan cluster Dataproc ke layanan federasi

Petunjuk berikut menunjukkan cara membuat cluster Dataproc dan melampirkan endpoint layanan federasi sebagai metastore-nya.

Sebelum Anda memulai petunjuk ini, selesaikan semua langkah yang tercantum dalam Sebelum Anda memulai dan buat layanan federasi.

gcloud CLI

Untuk membuat cluster Dataproc dan melampirkan endpoint gabungan, jalankan perintah gcloud Dataproc clusters create berikut.

 gcloud dataproc clusters create CLUSTER_NAME \
    --region=LOCATION \
    --project=PROJECT_ID \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --image-version=IMAGE_VERSION \
    --service-account=SERVICE_ACCOUNT \
    --optional-components=DOCKER \
    --initialization-actions=gs://metastore-init-actions/metastore-grpc-proxy/metastore-grpc-proxy.sh \
    --metadata="proxy-uri=FEDERATION_URI,hive-version=FEDERATION_VERSION" \
    --properties="hive:hive.metastore.uris=thrift://localhost:9083,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR"

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Dataproc baru Anda.
  • PROJECT_ID: Google Cloud project ID project tempat Anda membuat cluster Dataproc.
  • LOCATION: region cluster Dataproc Anda.
  • IMAGE_VERSION: versi image Dataproc yang ingin Anda gunakan.

    Pastikan image Dataproc yang Anda gunakan dalam perintah ini kompatibel dengan versi Hive yang digunakan dengan layanan federasi Anda. Untuk mengetahui informasi selengkapnya, lihat Daftar versi image Dataproc.

  • SERVICE_ACCOUNT opsional: akun layanan yang Anda gunakan untuk membuat cluster Dataproc. Jika tidak ditentukan, cluster akan menggunakan akun layanan Compute Engine default Anda.

  • FEDERATION_URI: URI endpoint layanan federasi Anda.

  • FEDERATION_VERSION: versi Hive yang digunakan oleh layanan federasi Anda.

  • WAREHOUSE_DIR: direktori gudang data Dataproc Metastore utama Anda.

Langkah berikutnya