Halaman ini menjelaskan cara mengimpor metadata ke layanan Dataproc Metastore.
Fitur impor metadata 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 dihasilkan dari database relasional.
Jika file Anda dalam format lain, 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 SQL Native 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 menggantikan semua metadata yang ada yang disimpan di layanan Dataproc Metastore.
Fitur impor metadata hanya mengimpor metadata. Data yang dibuat oleh Apache Hive dalam tabel internal tidak direplikasi dalam impor.
Pengimporan tidak mengubah konten database dan tidak menangani migrasi file. Jika Anda memindahkan data ke lokasi lain, Anda harus memperbarui lokasi dan skema data tabel secara manual di layanan Dataproc Metastore.
Mengimpor tidak memulihkan atau mengganti kebijakan IAM terperinci.
Jika Anda menggunakan Kontrol Layanan VPC, maka 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 Anda untuk memberi Anda peran IAM berikut:
-
Untuk mengimpor metadata:
-
Dataproc Metastore Editor (
roles/metastore.editor
) pada layanan metadata. -
Administrator Dataproc Metastore (
roles/metastore.admin
) di project.
-
Dataproc Metastore Editor (
-
Untuk MySQL, guna menggunakan objek Cloud Storage (file dump SQL) untuk impor:
beri 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:
beri akun pengguna dan agen layanan Dataproc Metastore Anda 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 Dataproc Metastore. 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 Anda dan agen layanan Dataproc Metastore:
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 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 tidak ada.
Untuk memeriksa kompatibilitas metadata Hive sebelum mengimpor, Anda dapat menggunakan Toolkit Dataproc Metastore.
Menyiapkan file impor sebelum mengimpor
Sebelum dapat mengimpor file ke Dataproc Metastore, Anda harus menyalin file dump metadata ke Cloud Storage, seperti bucket Cloud Storage artefak.
Memindahkan file Anda 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 mencatat jalur Cloud Storage tempat Anda mengupload 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 ke folder Cloud Storage.
- Impor Avro Anda harus menyertakan file Avro untuk setiap tabel Hive, meskipun tabel kosong.
- Nama file Avro harus mengikuti format
<table-name>.avro
.<table-name>
harus menggunakan huruf kapital semua. Misalnya,AUX_TABLE.avro
.
Mengimpor file ke Dataproc Metastore
Sebelum mengimpor metadata, tinjau pertimbangan impor.
Saat impor sedang berjalan, Anda tidak dapat memperbarui layanan Dataproc Metastore, misalnya mengubah setelan konfigurasi. Namun, Anda tetap dapat menggunakannya untuk operasi normal, seperti menggunakannya untuk mengakses metadatanya dari cluster Dataproc terlampir atau cluster yang dikelola sendiri.
Konsol
Di konsol Google Cloud , buka halaman Dataproc Metastore:
Di halaman Dataproc Metastore, klik nama layanan yang ingin Anda impor metadatanya.
Halaman Detail layanan akan terbuka.
Gambar 1. Halaman detail Layanan Dataproc Metastore. Di menu navigasi, klik Impor.
Dialog Impor akan terbuka.
Masukkan Nama impor.
Di bagian Tujuan, pilih MySQL atau Avro.
Di kolom Destination URI, klik Browse dan 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, model 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 impor berhasil.
REST
Ikuti petunjuk API untuk mengimpor metadata ke dalam layanan dengan menggunakan APIs Explorer.
Dengan menggunakan API, 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 responsif sebelumnya.
Melihat histori impor
Untuk melihat histori impor layanan Dataproc Metastore di konsol Google Cloud , selesaikan langkah-langkah berikut:
- Di Google Cloud console, buka halaman Dataproc Metastore.
Di menu navigasi, klik Impor/Ekspor.
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.
- Pekerjaan gagal karena file database terlalu besar.
Untuk mendapatkan bantuan lebih lanjut dalam memecahkan masalah pemecahan masalah umum, lihat Skenario error impor dan ekspor.