Mengimpor metadata ke Metastore Dataproc

Halaman ini menjelaskan cara mengimpor metadata ke layanan Dataproc Metastore.

Fitur metadata impor memungkinkan Anda mengisi layanan Dataproc Metastore yang ada dengan metadata yang disimpan dalam format penyimpanan portabel.

Metadata portabel ini biasanya diekspor dari layanan Dataproc Metastore lain atau dari Hive Metastore (HMS) yang dikelola sendiri.

Tentang mengimpor metadata

Anda dapat mengimpor format file berikut ke Dataproc Metastore:

  • Kumpulan file Avro yang disimpan dalam folder.
  • Satu file dump MySQL yang disimpan di folder Cloud Storage.

File MySQL atau Avro yang Anda impor harus dibuat dari database relasional.

Jika file Anda dalam format yang berbeda, seperti PostgreSQL, Anda harus mengonversinya ke format Avro atau MySQL. Setelah konversi, Anda dapat mengimpornya ke Dataproc Metastore.

Avro

Impor berbasis Avro hanya didukung untuk Hive versi 2.3.6 dan 3.1.2. Saat mengimpor file Avro, Dataproc Metastore mengharapkan serangkaian file <table-name>.avro untuk setiap tabel dalam database Anda.

Untuk mengimpor file Avro, layanan Dataproc Metastore Anda dapat menggunakan jenis database MySQL atau Spanner.

MySQL

Impor berbasis MySQL didukung untuk semua versi Hive. Saat mengimpor file MySQL, Dataproc Metastore mengharapkan satu file SQL yang berisi semua informasi tabel Anda. Dump MySQL yang diperoleh dari cluster Dataproc menggunakan Native SQL juga didukung.

Untuk mengimpor file MySQL, layanan Dataproc Metastore Anda harus menggunakan jenis database MySQL. Jenis database Spanner tidak mendukung impor MySQL.

Pertimbangan impor

  • Proses impor akan menimpa semua metadata yang ada dan disimpan di layanan Dataproc Metastore.

  • Fitur impor metadata hanya mengimpor metadata. Data yang dibuat oleh Apache Hive dalam tabel internal tidak direplikasi dalam impor.

  • Mengimpor tidak mengubah konten database dan tidak menangani migrasi file. Jika memindahkan data ke lokasi lain, Anda harus memperbarui lokasi dan skema data tabel secara manual di layanan Dataproc Metastore.

  • Mengimpor tidak akan memulihkan atau mengganti kebijakan IAM terperinci.

  • Jika menggunakan Kontrol Layanan VPC, Anda hanya dapat mengimpor data dari bucket Cloud Storage yang berada di perimeter layanan yang sama dengan layanan Dataproc Metastore.

Sebelum memulai

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengimpor metadata ke Dataproc Metastore, minta administrator untuk memberi Anda peran IAM berikut:

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

Peran bawaan ini berisi izin yang diperlukan untuk mengimpor metadata ke Metastore Dataproc. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengimpor metadata ke Dataproc Metastore:

  • Untuk mengimpor metadata: metastore.imports.create di layanan metastore.
  • Untuk MySQL, agar dapat menggunakan objek Cloud Storage (file dump SQL) untuk impor, berikan akun pengguna dan agen layanan Metastore Dataproc: storage.objects.get di bucket Cloud Storage yang berisi dump metadata yang diimpor.
  • Untuk Avro, agar dapat menggunakan bucket Cloud Storage untuk impor, berikan akun pengguna dan agen layanan Dataproc Metastore: storage.objects.get di bucket Cloud Storage yang berisi dump metadata yang diimpor.

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 Ringkasan IAM Dataproc Metastore.

Mengimpor metadata

Operasi impor adalah proses dua langkah. Pertama, Anda menyiapkan file impor, lalu mengimpornya ke Dataproc Metastore.

Saat Anda memulai impor, Dataproc Metastore akan melakukan validasi skema metadata Hive. Validasi ini memverifikasi tabel dalam file dump SQL dan nama file untuk Avro. Jika tabel tidak ada, impor akan gagal dengan pesan error yang menjelaskan tabel yang tidak ada.

Untuk memeriksa kompatibilitas metadata Hive sebelum impor, Anda dapat menggunakan Toolkit Dataproc Metastore.

Menyiapkan file impor sebelum impor

Sebelum dapat mengimpor file ke Dataproc Metastore, Anda harus menyalin file dump metadata ke Cloud Storage, seperti bucket Cloud Storage artefak.

Memindahkan file ke Cloud Storage

  1. Buat dump database dari database eksternal yang ingin Anda impor ke Dataproc Metastore.

    Untuk mengetahui petunjuk cara membuat dump database, lihat halaman berikut:

  2. Upload file ke Cloud Storage.

    Pastikan Anda menuliskan jalur Cloud Storage tempat Anda mengupload file, karena Anda perlu menggunakannya nanti untuk melakukan impor.

    • Jika Anda mengimpor file MySQL, upload file SQL ke bucket Cloud Storage.

    • Jika Anda mengimpor file Avro, upload file tersebut ke folder Cloud Storage.

      • Impor Avro Anda harus menyertakan file Avro untuk setiap tabel Hive, meskipun tabel tersebut kosong.
      • Nama file Avro harus mengikuti format <table-name>.avro. <table-name> harus menggunakan huruf kapital semua. Misalnya, AUX_TABLE.avro.

Mengimpor file ke Metastore Dataproc

Sebelum mengimpor metadata, tinjau pertimbangan impor.

Saat impor berjalan, Anda tidak dapat mengupdate layanan Metastore Dataproc, misalnya mengubah setelan konfigurasi. Namun, Anda masih dapat menggunakannya untuk operasi normal, seperti menggunakannya untuk mengakses metadata dari Dataproc yang terpasang atau cluster yang dikelola sendiri.

Konsol

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

    Membuka Dataproc Metastore

  2. Di halaman Dataproc Metastore, klik nama layanan tempat Anda ingin mengimpor metadata.

    Halaman Detail layanan akan terbuka.

    Halaman detail layanan
    Gambar 1. Halaman detail Layanan Metastore Dataproc.
  3. Di menu navigasi, klik Impor.

    Dialog Import akan terbuka.

  4. Masukkan Nama impor.

  5. Di bagian Tujuan, pilih MySQL atau Avro.

  6. Di kolom Destination URI, klik Browse, lalu pilih Cloud Storage URI tempat Anda ingin mengimpor file.

    Anda juga dapat memasukkan lokasi bucket secara manual di kolom teks yang disediakan. Gunakan format berikut: bucket/object atau bucket/folder/object.

  7. Opsional: Masukkan Deskripsi impor.

    Anda dapat mengedit deskripsi di halaman Detail layanan.

  8. Untuk memperbarui layanan, klik Impor.

    Setelah selesai, impor akan muncul dalam tabel di halaman Detail layanan pada tab Impor/Ekspor.

gcloud CLI

  1. Untuk mengimpor metadata, jalankan perintah gcloud metastore services import gcs berikut:

    gcloud metastore services import gcs SERVICE_ID \
      --location=LOCATION \
      --import-id=IMPORT_ID \
      --description=DESCRIPTION \
      --dump-type=DUMP_TYPE \
      --database-dump=DATABASE_DUMP
    

    Ganti kode berikut:

    • SERVICE_ID: ID atau nama lengkap layanan Dataproc Metastore Anda.
    • LOCATION: region Google Cloud tempat layanan Dataproc Metastore Anda berada.
    • IMPORT_ID: ID atau nama yang memenuhi syarat sepenuhnya untuk impor metadata Anda. Contoh, import1.
    • DESCRIPTION: Opsional: Deskripsi impor Anda. Anda dapat mengeditnya nanti menggunakan gcloud metastore services imports update IMPORT.
    • DUMP_TYPE: jenis database eksternal yang Anda impor. Nilai yang diterima mencakup mysql dan avro. Nilai defaultnya adalah mysql.
    • DATABASE_DUMP: jalur ke Cloud Storage yang berisi file database. Jalur ini harus diawali dengan gs://. Untuk Avro, berikan jalur ke folder tempat file Avro disimpan (folder Cloud Storage). Untuk MySQL, berikan jalur ke file MySQL (objek Cloud Storage).
  2. Pastikan bahwa impor berhasil.

REST

Ikuti petunjuk API untuk mengimpor metadata ke dalam layanan menggunakan API Explorer.

Dengan API ini, Anda dapat membuat, mencantumkan, mendeskripsikan, dan memperbarui impor, tetapi Anda tidak dapat menghapus impor. Namun, menghapus layanan Dataproc Metastore akan menghapus semua impor bertingkat yang disimpan.

Jika impor berhasil, Dataproc Metastore akan otomatis kembali ke status aktif. Jika impor gagal, Dataproc Metastore akan di-rollback ke status yang sehat sebelumnya.

Melihat histori impor

Untuk melihat histori impor layanan Dataproc Metastore di konsol Google Cloud, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Dataproc Metastore.
  2. Di menu navigasi, klik Import/Export.

    Histori impor Anda akan muncul di tabel Histori impor.

    Histori menampilkan hingga 25 impor terakhir.

Menghapus layanan Dataproc Metastore juga akan menghapus semua histori impor terkait.

Memecahkan masalah umum

Beberapa masalah umum meliputi:

Untuk mendapatkan bantuan lebih lanjut dalam memecahkan masalah pemecahan masalah umum, lihat Skenario error impor dan ekspor.

Langkah selanjutnya