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
- Aktifkan Dataproc Metastore di project Anda.
- Pahami persyaratan jaringan khusus untuk project Anda.
- Buat layanan Dataproc Metastore.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengimpor metadata ke Dataproc Metastore, minta administrator untuk memberi Anda peran IAM berikut:
-
Untuk mengimpor metadata:
-
Dataproc Metastore Editor (
roles/metastore.editor
) di layanan metadata. -
Dataproc Metastore Administrator (
roles/metastore.admin
) di project.
-
Dataproc Metastore Editor (
-
Untuk MySQL, guna menggunakan objek Cloud Storage (file dump SQL) untuk impor:
berikan akun pengguna dan agen layanan Dataproc Metastore peran Storage Object Viewer (
roles/storage.objectViewer
) di bucket Cloud Storage yang berisi dump metadata yang diimpor. -
Untuk Avro, guna menggunakan bucket Cloud Storage untuk impor:
berikan akun pengguna dan agen layanan Dataproc Metastore peran Storage Object Viewer (
roles/storage.objectViewer
) di bucket Cloud Storage yang berisi dump metadata yang diimpor.
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
Buat dump database dari database eksternal yang ingin Anda impor ke Dataproc Metastore.
Untuk mengetahui petunjuk cara membuat dump database, lihat halaman berikut:
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
Di konsol Google Cloud, buka halaman Dataproc Metastore:
Di halaman Dataproc Metastore, klik nama layanan tempat Anda ingin mengimpor metadata.
Halaman Detail layanan akan terbuka.
Di menu navigasi, klik Impor.
Dialog Import akan terbuka.
Masukkan Nama impor.
Di bagian Tujuan, pilih MySQL atau Avro.
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
ataubucket/folder/object
.Opsional: Masukkan Deskripsi impor.
Anda dapat mengedit deskripsi di halaman Detail layanan.
Untuk memperbarui layanan, klik Impor.
Setelah selesai, impor akan muncul dalam tabel di halaman Detail layanan pada tab Impor/Ekspor.
gcloud CLI
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 menggunakangcloud metastore services imports update IMPORT
.DUMP_TYPE
: jenis database eksternal yang Anda impor. Nilai yang diterima mencakupmysql
danavro
. Nilai defaultnya adalahmysql
.DATABASE_DUMP
: jalur ke Cloud Storage yang berisi file database. Jalur ini harus diawali dengangs://
. Untuk Avro, berikan jalur ke folder tempat file Avro disimpan (folder Cloud Storage). Untuk MySQL, berikan jalur ke file MySQL (objek Cloud Storage).
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:
- Di konsol Google Cloud, buka halaman Dataproc Metastore.
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:
- Impor gagal karena versi Hive tidak cocok.
- Agen layanan atau akun pengguna tidak memiliki izin yang diperlukan.
- Tugas gagal karena file database terlalu besar.
Untuk mendapatkan bantuan lebih lanjut dalam memecahkan masalah pemecahan masalah umum, lihat Skenario error impor dan ekspor.