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:
- Serangkaian file Avro yang disimpan dalam sebuah folder.
- Satu file dump MySQL yang disimpan di folder Cloud Storage.
File MySQL atau Avro yang Anda impor harus dihasilkan 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
Pengimporan 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 di impor.
Pengimporan 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 yang 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.
- Memahami persyaratan jaringan khusus untuk project Anda.
- Buat layanan Dataproc Metastore.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengimpor metadata ke Dataproc Metastore, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Untuk mengimpor metadata:
-
Dataproc Metastore Editor (
roles/metastore.editor
) di layanan metadata. -
Administrator Dataproc Metastore (
roles/metastore.admin
) pada project.
-
Dataproc Metastore Editor (
-
Untuk MySQL, agar dapat menggunakan objek Cloud Storage (file dump SQL) untuk diimpor:
berikan peran Storage Object Viewer kepada akun pengguna Anda dan agen layanan Dataproc Metastore (
roles/storage.objectViewer
) di bucket Cloud Storage yang berisi dump metadata yang diimpor. -
Bagi Avro, agar dapat menggunakan bucket Cloud Storage untuk diimpor:
berikan peran Storage Object Viewer kepada akun pengguna Anda dan agen layanan Dataproc Metastore (
roles/storage.objectViewer
) pada bucket Cloud Storage yang berisi dump metadata yang diimpor.
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengimpor metadata ke Dataproc Metastore. Untuk melihat izin yang benar-benar diperlukan, perluas 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. -
Agar MySQL, agar dapat menggunakan objek Cloud Storage (file dump SQL) untuk diimpor, berikan akun pengguna Anda dan agen layanan Dataproc Metastore:
storage.objects.get
di bucket Cloud Storage yang berisi dump metadata yang diimpor. -
Agar Avro dapat menggunakan bucket Cloud Storage untuk diimpor, berikan akun pengguna Anda dan agen layanan Dataproc Metastore:
storage.objects.get
di bucket Cloud Storage yang berisi dump metadata yang diimpor.
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Untuk informasi selengkapnya tentang peran dan izin Dataproc Metastore tertentu, lihat Ringkasan IAM Dataproc Metastore.Mengimpor metadata Anda
Operasi impor adalah proses dua langkah. Pertama, siapkan file impor, lalu impor 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 hilang.
Untuk memeriksa kompatibilitas metadata Hive sebelum mengimpor, Anda dapat menggunakan Toolkit Dataproc Metastore.
Menyiapkan file impor sebelum diimpor
Sebelum dapat mengimpor file ke Dataproc Metastore, Anda harus menyalin file dump metadata ke Cloud Storage, seperti bucket Cloud Storage.
Memindahkan file ke Cloud Storage
Buat dump database dari database eksternal yang ingin Anda impor ke Dataproc Metastore.
Untuk mendapatkan petunjuk tentang cara membuat dump database, lihat halaman berikut:
Upload file ke Cloud Storage.
Pastikan untuk menuliskan jalur Cloud Storage tujuan upload file. Anda harus 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 harus menyertakan file Avro untuk setiap tabel Hive, bahkan jika tabel tersebut kosong.
- Nama file Avro harus mengikuti format
<table-name>.avro
.<table-name>
harus ditulis dengan huruf kapital semua. Misalnya,AUX_TABLE.avro
.
Impor file ke Dataproc Metastore
Sebelum mengimpor metadata, tinjau pertimbangan impor.
Saat impor sedang berjalan, Anda tidak dapat mengupdate layanan Dataproc Metastore, misalnya mengubah setelan konfigurasi. Namun, Anda tetap dapat menggunakannya untuk operasi normal, seperti menggunakannya untuk mengakses metadatanya 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 Destination, 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 impor selesai, impor akan muncul dalam tabel di halaman Detail layanan pada tab Import/Export.
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 yang sepenuhnya memenuhi syarat dari layanan Dataproc Metastore Anda.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.IMPORT_ID
: ID atau nama yang sepenuhnya memenuhi syarat 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).
Verifikasi bahwa impor berhasil.
REST
Ikuti petunjuk API untuk mengimpor metadata ke layanan menggunakan APIs Explorer.
Dengan API, Anda dapat membuat, mencantumkan, menjelaskan, dan mengupdate impor, tetapi Anda tidak dapat menghapus impor. Namun, menghapus layanan Dataproc Metastore akan menghapus semua impor bertingkat yang tersimpan.
Setelah impor berhasil, Dataproc Metastore secara otomatis kembali ke status aktif. Jika impor gagal, Dataproc Metastore akan melakukan roll back ke kondisi normal sebelumnya.
Lihat 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 yang terkait.
Memecahkan masalah umum
Beberapa masalah umum mencakup:
- 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 menyelesaikan masalah umum, lihat Skenario error impor dan ekspor.