Fase 3: Metastore Hive dan migrasi data

Artikel ini adalah Fase 3 dari 4 dalam seri praktik terbaik migrasi Azure Synapse Spark ke Microsoft Fabric.

Gunakan artikel ini saat Anda siap untuk memigrasikan katalog Apache Hive Metastore dan merencanakan akses data di Fabric. Artikel ini berfokus pada dua keputusan: cara memigrasikan metadata tabel Anda dan apakah akan menggunakan pintasan OneLake (nol salinan) atau memindahkan data ke penyimpanan yang dapat diakses.

Dalam artikel ini, Anda akan mempelajari cara:

  • Menilai tabel terkelola vs. eksternal untuk menentukan pendekatan migrasi Anda.
  • Ekspor dan impor metadata Apache Hive Metastore menggunakan alur kerja notebook.
  • Buat pintasan OneLake untuk akses nol salin ke sumber data yang ada.
  • Pilih antara pintasan, salin alur, dan alat transfer massal untuk pergerakan data.

Tip

Buat rumah danau target Anda dengan skema diaktifkan. Skema lakehouse memungkinkan Anda mengatur tabel ke dalam koleksi bernama (misalnya, penjualan, pemasaran, SDM). Spark Migration Assistant memetakan database Synapse default ke skema dan dbo database tambahan ke skema tambahan di lakehouse yang sama. Skema diaktifkan secara default saat membuat lakehouse baru di portal Fabric.

Untuk panduan migrasi HMS lengkap, lihat Memigrasikan metadata Apache Hive Metastore.

Menilai tabel basis data terkelola vs. eksternal

Langkah pertama yang penting adalah membedakan tabel yang dikelola dan tabel eksternal di Metastore Apache Hive Synapse Anda.

  • Tabel eksternal: Jika data berada di ADLS Gen2 dengan format Delta, buat pintasan OneLake langsung ke jalur ADLS Gen2. Tidak ada pergerakan data yang diperlukan.
  • Tabel terkelola: Data disimpan di direktori gudang internal Synapse. Anda harus membuat pintasan OneLake ke jalur ini atau menyalin data ke lokasi ADLS Gen2 yang dapat diakses.

Direktori jalur gudang untuk tabel yang dikelola Synapse

abfss://<container>@<storage>.dfs.core.windows.net/synapse/workspaces/<workspace>/warehouse

Alur kerja migrasi

Microsoft menyediakan notebook ekspor/impor untuk migrasi Apache Hive Metastore. Proses ini memiliki dua fase.

Untuk panduan migrasi HMS lengkap, lihat Memigrasikan metadata Apache Hive Metastore.

Fase 1: Mengekspor metadata dari Synapse

  1. Impor notebook ekspor HMS ke ruang kerja Azure Synapse Anda. Notebook ini mengkueri dan mengekspor metadata HMS database, tabel, dan partisi ke direktori perantara di OneLake.

  2. Konfigurasikan parameter. Atur nama ruang kerja Synapse, nama database untuk diekspor, dan target OneLake lakehouse untuk tahap penyimpanan sementara. API katalog internal Spark digunakan untuk membaca objek katalog.

  3. Jalankan ekspor. Jalankan semua sel buku catatan. Metadata ditulis ke bagian File dari Fabric Lakehouse Anda dalam hierarki folder terstruktur.

Fase 2: Mengimpor metadata ke Fabric Lakehouse

  1. Buat pintasan untuk akses data. Buat pintasan di dalam bagian File di Lakehouse yang menunjuk ke direktori gudang Synapse Spark. Ini membuat data tabel terkelola dapat diakses oleh Fabric.

  2. Mengonfigurasi pemetaan gudang. Untuk tabel terkelola, berikan WarehouseMappings untuk mengganti jalur direktori gudang Synapse lama dengan jalur pintasan di Fabric. Semua tabel terkelola dikonversi ke tabel eksternal selama impor.

  3. Jalankan notebook impor di Fabric untuk membuat objek katalog (database, tabel, partisi) di Lakehouse menggunakan API katalog internal Spark.

  4. Verifikasi. Periksa bahwa semua tabel yang diimpor terlihat di bagian Tabel di antarmuka Lakehouse explorer.

Batasan dan pertimbangan

  • Skrip migrasi menggunakan API katalog internal Spark, bukan koneksi database HMS langsung. Ini mungkin tidak menskalakan dengan baik untuk katalog yang sangat besar — untuk lingkungan besar, pertimbangkan untuk memodifikasi logika ekspor untuk mengkueri database HMS secara langsung.

  • Tidak ada jaminan isolasi selama ekspor. Jika komputasi Synapse Spark memodifikasi metastore secara bersamaan, data yang tidak konsisten mungkin diperkenalkan. Jadwalkan migrasi selama jendela pemeliharaan.

  • Fungsi tidak disertakan dalam skrip migrasi saat ini.

  • Setelah migrasi, pintasan OneLake menyediakan akses data berkelanjutan. Jika Synapse terus menulis ke jalur ADLS Gen2 yang sama, Fabric melihat data yang diperbarui melalui pintasan secara otomatis (sinkronisasi tingkat data). Namun, tabel baru atau perubahan skema di Synapse HMS tidak akan menyebar secara otomatis — Anda harus menjalankan ulang skrip migrasi atau membuat tabel baru secara manual di lakehouse di Fabric.

  • Hive Metastore Eksternal (Azure SQL DB / MySQL): Beberapa ruang kerja Synapse menggunakan Hive Metastore (HMS) eksternal yang didukung oleh Azure SQL Database atau Basis Data Azure untuk MySQL untuk menyimpan metadata katalog di luar ruang kerja dan membagikannya dengan HDInsight atau Databricks. Fabric tidak mendukung koneksi ke Hive Metastore eksternal — hanya menggunakan katalog Lakehouse. Jika Anda menggunakan HMS eksternal, Anda harus memigrasikan metadata ke katalog Fabric Lakehouse. Anda dapat melakukan ini dengan mengkueri database HMS eksternal secara langsung (melalui JDBC) untuk mengekspor definisi tabel lalu membuatnya kembali di Fabric menggunakan Spark SQL atau notebook impor HMS. Perhatikan bahwa dukungan HMS eksternal di Synapse tidak digunakan lagi setelah Spark 3.4.

Tip

Untuk sinkronisasi yang sedang berlangsung saat Synapse dan Fabric aktif: gunakan pintasan OneLake untuk sinkronisasi tingkat data (otomatis), dan jadwalkan eksekusi ulang berkala notebook ekspor/impor HMS atau buat buku catatan rekonsiliasi untuk mendeteksi dan menyinkronkan tabel baru.

Opsi migrasi data

Anda memiliki data di ADLS Gen2 yang terhubung ke workspace Synapse Anda yang perlu Anda akses di lakehouse di Fabric tanpa duplikasi data yang tidak perlu. Pilih dari pendekatan berikut.

  • Pintasan OneLake (disarankan, tanpa salinan): Buat pintasan di Fabric Lakehouse yang menunjuk ke jalur ADLS Gen2 yang ada. Format data Delta di bagian Tabel terdaftar secara otomatis di katalog Lakehouse. Data CSV/JSON/Parquet masuk ke bagian File. Tidak diperlukan pergerakan data.

  • mssparkutils fastcp: Untuk menyalin data dari ADLS Gen2 ke OneLake dalam notebook.

  • AzCopy: Utilitas baris perintah untuk salinan data massal dari ADLS Gen2 ke OneLake.

  • Data Factory Copy Activity: Gunakan Fabric Data Factory (atau alur ADF/Synapse yang ada) untuk menyalin data ke Lakehouse.

  • Azure Storage Explorer: Alat visual untuk memindahkan file dari ADLS Gen2 ke OneLake.

Tip

Lebih suka pintasan daripada pergerakan data jika memungkinkan. Pintasan menghindari duplikasi data dan biaya penyimpanan, dan tabel Delta di bagian Tabel secara otomatis dapat ditemukan di titik akhir analitik SQL dan Power BI.