3. Aşama: Hive Meta Veri Deposu ve veri geçişi

Bu makale, Azure Synapse Spark Microsoft Fabric geçiş en iyi yöntemleri serisinin 4. aşamasıdır.

Hive Meta Veri Deposu kataloğunuzu geçirmeye ve Fabric'de veri erişimini planlamaya hazır olduğunuzda bu makaleyi kullanın. Bu makale iki karara odaklanır: tablo meta verilerinizi geçirme ve OneLake kısayollarını (sıfır kopya) kullanma veya verileri erişilebilir depolama alanına taşıma.

Bu makalede şunları öğreneceksiniz:

  • Geçiş yaklaşımınızı belirlemek için yönetilen ve dış tabloları değerlendirin.
  • Not defteri iş akışlarını kullanarak Hive Meta Veri Deposu meta verilerini dışarı ve içeri aktarın.
  • Mevcut veri kaynaklarına sıfır kopya erişimi için OneLake kısayolları oluşturun.
  • Veri taşıma için kısayollar, kopyalama işlem hatları ve toplu aktarım araçları arasında seçim yapın.

Tip

Hedef göl evinizi şemalarla oluşturun. Lakehouse şemaları, tabloları adlandırılmış koleksiyonlar halinde (örneğin, satış, pazarlama, i.k.) düzenlemenize olanak tanır. Spark Geçiş Yardımcısı, varsayılan Synapse veritabanını dbo şemaya ve ek veritabanlarını aynı göl evindeki ek şemalara eşler. Fabric portalında yeni bir göl evi oluşturulduğunda şemalar varsayılan olarak etkinleştirilir.

Tam HMS geçiş kılavuzu için bkz. Hive Meta Veri Deposu meta verilerini geçirme.

Yönetilen ve dış tabloları karşılaştırıp değerlendirin

Kritik ilk adım, Synapse Hive Meta Veri Deponuzdaki dış tablolardan yönetilenleri ayırt etmektir.

  • Dış tablolar: Veriler ADLS 2. Nesil'de Delta biçimindeyse, onelake kısayollarını doğrudan ADLS 2. Nesil yollarına oluşturun. Veri taşımaya gerek yoktur.
  • Yönetilen tablolar: Veriler Synapse'in iç ambar dizininde depolanır. Bu yolda OneLake kısayolları oluşturmanız veya verileri erişilebilir bir ADLS 2. Nesil konumuna kopyalamanız gerekir.

Synapse yönetilen tablo deposu dizin yolu:

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

Geçiş iş akışı

Microsoft, Hive Meta Veri Deposu geçişi için dışarı/içeri aktarma not defterleri sağlar. İşlemin iki aşaması vardır.

Tam HMS geçiş kılavuzu için bkz. Hive Meta Veri Deposu meta verilerini geçirme.

1. Aşama: Synapse'ten meta verileri dışarı aktarma

  1. HMS dışarı aktarma not defterini Azure Synapse çalışma alanınıza aktarın. Bu not defteri veritabanlarının, tabloların ve bölümlerin HMS meta verilerini sorgular ve OneLake'deki bir ara dizine aktarır.

  2. Parametreleri yapılandırın. Synapse çalışma alanı adınızı, dışa aktarılacak veritabanı adlarını ve hazırlık için hedef OneLake lakehouse'unuzu ayarlayın. Spark iç katalog API'si, katalog nesnelerini okumak için kullanılır.

  3. Dışa aktarımı başlatın. Tüm not defteri hücrelerini yürütür. Meta veriler, yapılandırılmış bir klasör hiyerarşisindeki Fabric Lakehouse'unuzun Dosyalar bölümüne yazılır.

2. Aşama: Meta verileri Fabric Lakehouse'a aktarma

  1. Veri erişimi için kısayollar oluşturun. Lakehouse'un Dosyalar bölümünde Synapse Spark ambar dizinine işaret eden bir kısayol oluşturun. Bu, yönetilen tablo verilerinin Fabric tarafından erişilebilir olmasını sağlar.

  2. Depo eşlemelerini yapılandırın. Yönetilen tablolar için, eski Synapse ambarı dizin yollarını Fabric kısayol yolları ile değiştirmek için WarehouseMappings sağlayın. Tüm yönetilen tablolar içeri aktarma sırasında dış tablolara dönüştürülür.

  3. Spark'ın iç katalog API'sini kullanarak Lakehouse'da katalog nesneleri (veritabanları, tablolar, bölümler) oluşturmak için Fabric'da içeri aktarma not defterini çalıştırın.

  4. Doğrula. Tüm içe aktarılan tabloların Lakehouse Explorer arayüzü'nün Tablolar bölümünde göründüğünü kontrol edin.

Sınırlamalar ve Dikkat Edilecek Hususlar

  • Spark'ın iç katalog API'sini kullanan geçiş betikleri, doğrudan HMS veritabanı bağlantılarını kullanmaz. Bu, çok büyük kataloglar için iyi ölçeklendirilmeyebilir; büyük ortamlarda, HMS veritabanını doğrudan sorgulamak için dışarı aktarma mantığını değiştirmeyi göz önünde bulundurun.

  • Dışarı aktarma sırasında yalıtım garantisi yoktur. Synapse Spark işlem meta depoyu eşzamanlı olarak değiştirirse tutarsız veriler ortaya çıkabilir. Bakım penceresi sırasında geçişi zamanlayın.

  • İşlevler geçerli geçiş betiklerine dahil değildir.

  • Geçiş sonrasında OneLake kısayolları sürekli veri erişimi sağlar. Synapse aynı ADLS 2. Nesil yollarına yazmaya devam ederse Fabric güncelleştirilmiş verileri otomatik olarak kısayollar (veri düzeyinde eşitleme) aracılığıyla görür. Ancak, Synapse HMS'deki yeni tablolar veya şema değişiklikleri otomatik yayılmaz — göç betiklerini yeniden çalıştırmalı veya Fabric'teki göl evinde manuel olarak yeni tablolar oluşturmalısınız.

  • External Hive Meta Veri Deposu (Azure SQL DB / MySQL): Bazı Synapse çalışma alanları, katalog meta verilerini çalışma alanı dışında kalıcı hale getirmek ve HDInsight veya Databricks ile paylaşmak için Azure SQL Veritabanı veya MySQL için Azure Veritabanı tarafından desteklenen bir dış HMS kullanır. Fabric, dış Hive Meta Veri Deposuna bağlanmayı desteklemez; yalnızca Lakehouse kataloğunu kullanır. Dış HMS kullanıyorsanız meta verileri Fabric Lakehouse kataloğuna geçirmeniz gerekir. Bunu yapmak için dış HMS veritabanını doğrudan sorgulayarak (JDBC aracılığıyla) tablo tanımlarını dışarı aktarabilir ve sonra Spark SQL veya HMS içeri aktarma not defterlerini kullanarak bunları Fabric yeniden oluşturabilirsiniz. Synapse'teki dış HMS desteğinin Spark 3.4'te kullanım dışı bırakıldığını unutmayın.

Tip

Hem Synapse hem de Fabric etkin olduğunda sürekli eşitleme için: Veri düzeyi eşitleme (otomatik) için OneLake kısayollarını kullanın ve HMS dışarı/içeri aktarma not defterlerinin düzenli aralıklarla yeniden çalıştırmalarını zamanlayın veya yeni tabloları algılayıp eşitlemek için bir mutabakat not defteri oluşturun.

Veri geçişi seçenekleri

ADLS Gen2'de Synapse çalışma alanınıza bağlı verileriniz var ve bunları Fabric'teki bir göl evinde gereksiz veri tekrarı olmadan erişilebilir hale getirmeniz gerekiyor. Aşağıdaki yaklaşımlardan birini seçin.

  • OneLake Kısayolları (önerilen, sıfır kopya): Mevcut ADLS 2. Nesil yollarınızı işaret eden Fabric Lakehouse'da kısayollar oluşturun. Tablolar bölümündeki delta biçim verileri Lakehouse kataloğunda otomatik olarak kaydedilir. CSV/JSON/Parquet verileri Dosyalar bölümüne gider. Veri taşıma gerekmez.

  • mssparkutils fastcp: AdLS 2. Nesil'den OneLake'e not defterleri içinde veri kopyalamak için.

  • ADLS 2. Nesil'den OneLake'e toplu veri kopyalama için AzCopy: Komut satırı yardımcı programı.

  • Data Factory Kopyalama Etkinliği: Lakehouse'a veri kopyalamak için Fabric Data Factory'yi (veya mevcut ADF/Synapse işlem hatlarını) kullanın.

  • Azure Depolama Gezgini: ADLS 2. Nesil'den OneLake'e dosya taşımak için Görsel aracı.

Tip

Mümkün olduğunda veri taşıma yerine kısayolları tercih edin. Kısayollar veri yineleme ve depolama maliyetlerini önler ve Tablolar bölümündeki Delta tabloları SQL analiz uç noktasında ve Power BI otomatik olarak bulunabilir.