Halaman ini menjelaskan cara mengekspor metadata dari Dataproc Metastore.
Fitur metadata ekspor memungkinkan Anda menyimpan metadata dalam format penyimpanan portabel.
Setelah mengekspor data, Anda dapat mengimpor metadata ke layanan Dataproc Metastore lain atau Hive Metastore (HMS) yang dikelola sendiri.
Tentang mengekspor metadata
Saat Anda mengekspor metadata dari Dataproc Metastore, layanan ini akan menyimpan data dalam salah satu format file berikut:
- Kumpulan file Avro yang disimpan dalam folder.
- Satu file dump MySQL yang disimpan di folder Cloud Storage.
Avro
Ekspor berbasis Avro hanya didukung untuk Hive versi 2.3.6 dan 3.1.2. Saat
Anda mengekspor file Avro, Dataproc Metastore akan membuat
file <table-name>.avro
untuk setiap tabel di database Anda.
Untuk mengekspor file Avro, layanan Dataproc Metastore Anda dapat menggunakan jenis database MySQL atau Spanner.
MySQL
Ekspor berbasis MySQL didukung untuk semua versi Hive. Saat Anda mengekspor file MySQL, Dataproc Metastore akan membuat satu file SQL yang berisi semua informasi tabel Anda.
Untuk mengekspor file MySQL, layanan Dataproc Metastore Anda harus menggunakan jenis database MySQL. Jenis database Spanner tidak mendukung impor MySQL.
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 mengekspor metadata ke Dataproc Metastore, minta administrator Anda untuk memberi Anda peran IAM berikut:
-
Untuk mengekspor metadata, lakukan salah satu tindakan berikut:
-
Dataproc Metastore Editor (
roles/metastore.editor
) di layanan Dataproc Metastore -
Dataproc Metastore Administrator (
roles/metastore.admin
) di layanan Dataproc Metastore -
Dataproc Metastore Metadata Operator (
roles/metastore.metadataOperator
) di layanan Dataproc Metastore
-
Dataproc Metastore Editor (
-
Untuk MySQL dan Avro, guna menggunakan objek Cloud Storage untuk ekspor:
berikan akun pengguna dan agen layanan Dataproc Metastore peran Storage Creator (
roles/storage.objectCreator
) di bucket Cloud Storage
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mengekspor metadata ke Metastore Dataproc. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengekspor metadata ke Dataproc Metastore:
-
Untuk mengekspor metadata:
metastore.services.export
di layanan metastore -
Untuk MySQL dan Avro, agar dapat menggunakan objek Cloud Storage untuk ekspor, berikan akun pengguna dan agen layanan Dataproc Metastore:
storage.objects.create
di bucket Cloud Storage
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.Mengekspor metadata
Sebelum mengekspor metadata, perhatikan pertimbangan berikut:
- Saat ekspor berjalan, Anda tidak dapat mengupdate layanan Dataproc Metastore — misalnya mengubah setelan konfigurasi. Namun, Anda masih dapat menggunakannya untuk operasi normal, seperti menggunakannya untuk mengakses metadata dari Dataproc terlampir atau cluster mandiri.
- Fitur ekspor metadata hanya mengekspor metadata. Data yang dibuat oleh Apache Hive dalam tabel internal tidak direplikasi dalam ekspor.
Untuk mengekspor metadata dari layanan Dataproc Metastore, lakukan langkah-langkah berikut.
Konsol
Di konsol Google Cloud, buka halaman Dataproc Metastore:
Di halaman Dataproc Metastore, klik nama layanan tempat Anda ingin mengekspor metadata.
Halaman Detail layanan akan terbuka.
Di menu navigasi, klik Ekspor.
Halaman Ekspor metadata akan terbuka.
Di bagian Tujuan, pilih MySQL atau Avro.
Di kolom Destination URI, klik Browse, lalu pilih Cloud Storage URI tempat Anda ingin mengekspor file.
Anda juga dapat memasukkan lokasi bucket di kolom teks yang disediakan. Gunakan format berikut:
bucket/object
ataubucket/folder/object
.Untuk memulai ekspor, klik Kirim.
Setelah selesai, ekspor Anda akan muncul dalam tabel di halaman Detail layanan di tab Impor/Ekspor.
Setelah ekspor selesai, Dataproc Metastore akan otomatis kembali ke status aktif, terlepas dari apakah ekspor berhasil atau tidak.
gcloud CLI
Untuk mengekspor metadata dari layanan, jalankan perintah
gcloud metastore services export gcs
berikut:gcloud metastore services export gcs SERVICE \ --location=LOCATION \ --destination-folder=gs://bucket-name/path/to/folder \ --dump-type=DUMP_TYPE
Ganti kode berikut:
SERVICE
: nama layanan Metastore Dataproc Anda.LOCATION
: region Google Cloud tempat layanan Dataproc Metastore Anda berada.bucket-name/path/to/folder
: folder tujuan Cloud Storage tempat Anda ingin menyimpan ekspor.DUMP_TYPE
: jenis dump database yang akan dibuat oleh ekspor. Nilai yang diterima mencakupmysql
danavro
. Nilai defaultnya adalahmysql
.
Pastikan ekspor berhasil.
Setelah ekspor selesai, Dataproc Metastore akan otomatis kembali ke status aktif, terlepas dari apakah ekspor berhasil atau tidak.
REST
Ikuti petunjuk API untuk mengekspor metadata ke dalam layanan menggunakan API Explorer.
Setelah ekspor selesai, layanan akan otomatis kembali ke status aktif, terlepas dari apakah ekspor berhasil atau tidak.
Melihat histori ekspor
Untuk melihat histori ekspor layanan Metastore Dataproc di konsol Google Cloud, selesaikan langkah-langkah berikut:
- Di konsol Google Cloud, buka halaman Dataproc Metastore.
Di menu navigasi, klik Import/Export.
Histori ekspor Anda akan muncul di tabel Histori ekspor.
Histori menampilkan hingga 25 ekspor terakhir.
Menghapus layanan Dataproc Metastore juga akan menghapus semua histori ekspor terkait.
Memecahkan masalah umum
Beberapa masalah umum meliputi:
- 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.