Men-deploy layanan Metastore Dataproc

Halaman ini menunjukkan cara membuat layanan Metastore Dataproc dan menghubungkannya dari cluster Managed Service untuk Apache Spark. Setelah itu, Anda akan melakukan SSH ke cluster, meluncurkan instance Apache Hive, dan menjalankan beberapa kueri dasar.

Metastore Dataproc menyediakan Hive Metastore (HMS) yang sepenuhnya kompatibel, yang merupakan standar yang ditetapkan dalam ekosistem big data open source untuk mengelola metadata teknis. Layanan ini membantu Anda mengelola metadata data lake dan menyediakan interoperabilitas antara berbagai alat pemrosesan data yang Anda gunakan.


Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Dataproc Metastore, Dataproc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Dataproc Metastore, Dataproc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Peran yang Diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat Metastore Dataproc dan cluster Managed Service untuk Apache Spark, minta administrator untuk memberi Anda peran IAM berikut:

  • Untuk memberikan akses penuh ke semua resource Metastore Dataproc, termasuk menetapkan izin IAM: (roles/metastore.admin) di akun pengguna atau akun layanan
  • Untuk memberikan kontrol penuh atas resource Metastore Dataproc: Editor Metastore Dataproc (roles/metastore.editor) di akun pengguna atau akun layanan
  • Untuk membuat cluster Managed Service untuk Apache Spark: (roles/dataproc.worker) di akun layanan

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

Peran yang ditentukan sebelumnya ini berisi izin yang diperlukan untuk membuat Metastore Dataproc dan cluster Managed Service untuk Apache Spark. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat Metastore Dataproc dan cluster Managed Service untuk Apache Spark:

  • Untuk membuat layanan Metastore Dataproc: metastore.services.create di akun pengguna atau akun layanan
  • Untuk membuat cluster Managed Service untuk Apache Spark: Managed Service untuk Apache Spark worker (roles/dataproc.worker) di akun layanan

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

Untuk mengetahui informasi selengkapnya tentang peran dan izin Metastore Dataproc tertentu, lihat Ringkasan IAM Metastore Dataproc.

Membuat layanan Metastore Dataproc

Petunjuk berikut menunjukkan cara membuat layanan Metastore Dataproc dasar menggunakan setelan default yang disediakan.

Konsol

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

    Buka Dataproc Metastore

  2. Di menu navigasi, klik +Create.

    Dialog Create Metastore service akan terbuka.

  3. Pilih Dataproc Metastore 2.

  4. Di kolom Service name, masukkan example-service.

  5. Di kolom Data location, pilih us-central1.

  6. Untuk opsi konfigurasi layanan yang tersisa, gunakan setelan default yang disediakan.

  7. Untuk membuat dan memulai layanan, klik Submit.

Layanan metastore baru Anda akan muncul di halaman Dataproc Metastore. Status akan menampilkan Creating hingga layanan siap digunakan. Jika sudah siap, status akan berubah menjadi Active. Penyediaan layanan mungkin memerlukan waktu beberapa menit.

Screenshot berikut menampilkan contoh halaman Create service menggunakan beberapa setelan default yang disediakan.

Halaman Create service.

gcloud CLI

 gcloud metastore services create example-service \
     --location=us-central1 \
     --instance-size=MEDIUM

REST

Ikuti petunjuk API untuk membuat layanan menggunakan APIs Explorer.

Membuat cluster Managed Service untuk Apache Spark dan menghubungkannya ke Metastore Dataproc

Selanjutnya, Anda akan membuat cluster Managed Service untuk Apache Spark dan menghubungkan ke metastore dari cluster. Setelah itu, cluster Anda akan menggunakan layanan metastore sebagai HMS. Cluster yang Anda buat di sini menggunakan setelan default yang disediakan.

Konsol

  1. Di Google Cloud konsol, buka halaman Dataproc Clusters.

    Buka Managed Service untuk Cluster Apache Spark

  2. Di menu navigasi, pilih +Create cluster.

    Dialog Create a cluster akan terbuka dan menyediakan beberapa pilihan infrastruktur yang dapat Anda pilih.

  3. Di baris Cluster on Compute Engine, pilih Create.

    Halaman Create a Managed Service for Apache Spark cluster on Compute Engine akan terbuka.

  4. Di kolom Cluster Name, masukkan example-cluster.

  5. Di menu Region dan Zone, pilih us-central1.

  6. Untuk opsi Set up cluster yang tersisa, gunakan setelan default yang disediakan.

  7. Di menu navigasi, klik tab Customize cluster (optional).

  8. Di bagian Dataproc Metastore, pilih layanan metastore yang Anda buat sebelumnya.

    Jika Anda mengikuti tutorial ini apa adanya, layanan tersebut akan diberi nama example-service.

  9. Untuk opsi konfigurasi layanan yang tersisa, gunakan setelan default yang disediakan.

  10. Untuk membuat cluster, klik Create.

    Cluster baru Anda akan muncul dalam daftar Clusters. Status cluster akan menampilkan Provisioning hingga cluster siap digunakan. Jika sudah siap, status akan berubah menjadi Active. Penyediaan cluster mungkin memerlukan waktu beberapa menit.

gcloud CLI

Untuk membuat cluster menggunakan setelan default yang disediakan, jalankan perintah gcloud dataproc clusters create berikut:

 gcloud dataproc clusters create example-cluster \
    --dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \
    --region=us-central1

Ganti PROJECT_ID dengan project ID project tempat Anda membuat layanan Metastore Dataproc.

REST

Ikuti petunjuk API untuk membuat cluster menggunakan APIs Explorer.

Menghubungkan ke Apache Hive dengan cluster Managed Service untuk Apache Spark

Langkah-langkah berikutnya menunjukkan cara menjalankan beberapa perintah contoh di Apache Hive untuk membuat database dan tabel.

Selanjutnya, buka sesi SSH di cluster Managed Service untuk Apache Spark dan luncurkan sesi Hive.

  1. Di Google Cloud konsol, buka halaman VM Instances.
  2. Dalam daftar instance virtual machine, klik SSH di samping example-cluster.

Jendela browser akan terbuka di direktori beranda Anda di node dengan output yang mirip dengan berikut ini:

Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$

Untuk memulai Hive dan membuat database serta tabel, jalankan perintah berikut di sesi SSH:

  1. Mulai Hive.

    hive
    
  2. Buat database bernama myDatabase.

    create database myDatabase;
    
  3. Tampilkan database yang Anda buat.

    show databases;
    
  4. Gunakan database yang Anda buat.

    use myDatabase;
    
  5. Buat tabel bernama myTable.

    create table myTable(id int,name string);
    
  6. Cantumkan tabel di bagian myDatabase.

    show tables;
    
  7. Jelaskan skema tabel yang Anda buat.

    desc MyTable;
    

Menjalankan perintah ini akan menampilkan output yang mirip dengan berikut ini:

$hive

hive> show databases;
OK
default
hive> create database myDatabase;
OK
hive> use myDatabase;
OK
hive> create table myTable(id int,name string);
OK
hive> show tables;
OK
myTable
hive> desc myTable;
OK
id                      int
name                    string

Pembersihan

Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud

  1. Di Google Cloud konsol, buka halaman Manage resources.

    Buka Kelola resource

  2. Jika project yang ingin Anda hapus tertaut ke organisasi, buka daftar Organization di kolom Name.
  3. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  4. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Atau, Anda dapat menghapus resource yang digunakan dalam tutorial ini:

  1. Hapus layanan Metastore Dataproc.

    Konsol

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

      Buka Dataproc Metastore

    2. Dalam daftar layanan, pilih example-service.

    3. Di menu navigasi, klik Delete.

      Dialog Delete service akan terbuka.

    4. Dalam dialog, klik Delete

      Layanan Anda tidak akan muncul lagi di Service list.

    gcloud CLI

    Untuk menghapus layanan, jalankan perintah gcloud metastore services delete berikut.

     gcloud metastore services delete example-service \
         --location=us-central1

    REST

    Ikuti petunjuk API untuk menghapus layanan menggunakan APIs Explorer.

    Semua penghapusan akan langsung berhasil.

  2. Hapus bucket Cloud Storage untuk layanan Metastore Dataproc.

  3. Hapus cluster Managed Service untuk Apache Spark yang menggunakan layanan Metastore Dataproc.

Langkah berikutnya