Memigrasikan metadata Dataproc Metastore ke metastore BigQuery

Dokumen ini menjelaskan cara menggunakan alat migrasi metastore BigQuery, yang membantu Anda memindahkan metadata database, tabel, dan partisi dari layanan Metastore Dataproc ke metastore BigQuery.

Sebelum memulai

  1. Aktifkan penagihan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan diaktifkan pada project.
  2. Aktifkan BigQuery dan Dataflow API.

    Aktifkan API

  3. Opsional: Pelajari lebih lanjut hal berikut:

    • Pahami cara kerja metastore BigQuery dan alasan Anda harus menggunakannya.
    • Pelajari cara kerja Dataflow dan cara memantau tugas yang sedang berlangsung.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menjalankan alat migrasi, minta administrator untuk memberi Anda peran IAM berikut:

  • Buat database, tabel, dan partisi di BigQuery: BigQuery Data Editor (roles/bigQuery.dataEditor) di akun layanan Dataflow yang menjalankan tugas migrasi.
  • Berikan akses baca ke metadata Dataproc Metastore di endpoint gRPC: Peran Metadata Viewer (roles/metastore.metadataViewer) di akun layanan Dataflow yang menjalankan tugas migrasi.

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

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Cara kerja alat migrasi

Alat migrasi memulai tugas Dataflow yang mengekstrak metadata dari Metastore Dataproc dan menyerapnya ke dalam metastore BigQuery.

Anda tidak dapat mengakses data Dataproc Metastore langsung dari metastore BigQuery. Proses migrasi ini diperlukan untuk menjalankan beban kerja atau tugas pada metadata yang ada. Jika tidak menggunakan alat ini, Anda harus mengekstrak metadata dari Dataproc Metastore secara manual dan menyerapnya ke dalam metastore BigQuery.

Pertimbangan

  • Alat migrasi mendukung instance Dataproc Metastore yang menggunakan protokol endpoint gRPC atau Thrift.
  • Setiap kali Anda menjalankan alat migrasi, tugas Dataflow akan membuat salinan lengkap metadata dari Dataproc Metastore ke metastore BigQuery.

Batasan

Alat migrasi tidak memigrasikan metadata yang tidak terkait dengan partisi database dan tabel. Jika tidak dapat memigrasikan database atau tabel, alat ini akan mencatat pesan dalam instance Cloud Logging project yang berisi tugas Dataflow.

Setelah error dicatat ke dalam log, tugas Dataflow akan terus memproses tabel dan database lain dalam pipeline.

Menjalankan migrasi dengan alat

Untuk menjalankan migrasi dengan alat ini, buat tugas template flex Dataflow dengan menjalankan perintah gcloud dataflow flex-template berikut.

gcloud dataflow flex-template run JOB_NAME" \
   --template-file-gcs-location "gs://bigquery-metastore-migration/dpms_to_bqms_migration.json" \
   --parameters bigQueryMetastoreProjectId="DESTINATION_BIGQUERY_PROJECT_ID" \
   --parameters endpointUri="METASTORE_URI" \
   --parameters bigQueryMetastoreDatabaseLocation=DATABASE_LOCATION \
  [--network=NETWORK] \
  [--subnetwork=SUBNETWORK]

Ganti kode berikut:

  • JOB_NAME: nama tugas Dataflow untuk menjalankan migrasi.
  • DESTINATION_BIGQUERY_PROJECT_ID: ID project BigQuery tempat tugas Dataflow menulis data.
  • METASTORE_URI: URI layanan Dataproc Metastore.
  • DATABASE_LOCATION: lokasi tempat metastore BigQuery menulis data. Misalnya, jika Anda menetapkan nilai ini ke US, semua resource BigQuery yang dibuat oleh alat ini akan disimpan di lokasi ini.
  • NETWORK: opsional: jaringan untuk menjalankan tugas Dataflow. Hanya diperlukan untuk layanan Dataproc Metastore yang menggunakan endpoint Thrift.
  • SUBNETWORK: opsional: subnetwork untuk menjalankan tugas Dataflow. Hanya diperlukan untuk layanan Dataproc Metastore yang menggunakan endpoint Thrift.

Langkah selanjutnya