Veri kopyalama aracında meta veri temelli yaklaşımla büyük ölçekli veri kopyalama işlem hatları oluşturma

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Çok büyük miktarlardaki nesneleri (örneğin, binlerce tablo) kopyalamak veya çok çeşitli kaynaklardan veri yüklemek istediğinizde, uygun yaklaşım bir denetim tablosuna gerekli kopyalama davranışlarına sahip nesnelerin ad listesini girmek ve ardından aynı değeri denetim tablosundan okumak ve uygun şekilde işlere uygulamak için parametreli işlem hatlarını kullanmaktır. Bunu yaparak, işlem hatlarını yeniden dağıtmak yerine yalnızca denetim tablosundaki nesne adlarını güncelleştirerek nesne listesini kolayca kopyalanacak şekilde koruyabilirsiniz (örneğin, ekleme/kaldırma). Dahası, hangi nesnelerin hangi işlem hatları tarafından kopyalandığını/tanımlı kopyalama davranışlarına sahip tetikleyicileri kolayca denetlemek için tek bir yeriniz olacaktır.

ADF'de veri kopyalama aracı, meta veri temelli veri kopyalama işlem hatları oluşturma yolculuğunu kolaylaştırır. Sihirbaz tabanlı bir deneyimden sezgisel bir akıştan geçtikten sonra araç, buna göre dış denetim tabloları oluşturmanız için parametreli işlem hatları ve SQL betikleri oluşturabilir. SQL veritabanınızda denetim tablosunu oluşturmak için oluşturulan betikleri çalıştırdıktan sonra işlem hatlarınız denetim tablosundaki meta verileri okur ve bunları otomatik olarak kopyalama işlerine uygular.

Veri kopyalama aracından meta veri temelli kopyalama görevleri oluşturma

  1. Veri kopyalama aracında Meta veri temelli kopyalama görevini seçin.

    Oluşturulan işlem hattının bundan meta verileri okuması için denetim tablonuzun bağlantısını ve tablo adını girmeniz gerekir.

    Görev türünü seçin

  2. Kaynak veritabanınızın bağlantısını giriş yapın. Parametreli bağlı hizmeti de kullanabilirsiniz.

    Parametreli bağlı hizmeti seçme

  3. Kopyalanacak tablo adını seçin.

    Tablo seçme

    Not

    Tablosal veri deposunu seçerseniz, sonraki sayfada tam yük veya delta yükleme seçimi yapma imkanınız olur. Depolama alanını seçerseniz, yalnızca bir sonraki sayfada tam yüklemeyi seçebilirsiniz. Yeni dosyaların yalnızca depolama deposundan artımlı olarak yüklenmesi şu anda desteklenmiyor.

  4. Yükleme davranışını seçin.

    İpucu

    Tüm tablolarda tam kopya yapmak istiyorsanız Tüm tabloları tam yükle'yi seçin. Artımlı kopyalama yapmak istiyorsanız, her tablo için ayrı ayrı yapılandır'ı seçebilir ve her tablo için başlamak üzere Delta yükü'nü ve filigran sütun adı & değeri'ni seçebilirsiniz.

  5. Hedef veri deposunu seçin.

  6. Ayarlar sayfasında, Eşzamanlı kopyalama görevleri sayısı aracılığıyla kaynak deponuzdan eşzamanlı olarak veri kopyalamak için en fazla kopyalama etkinliği sayısına karar vekleyebilirsiniz. Varsayılan değer 20'dir.

    Ayarlar sayfası

  7. İşlem hattı dağıtımından sonra, denetim tablosu ve depolama yordamı oluşturmak için kullanıcı arabiriminden SQL betiklerini kopyalayabilir veya indirebilirsiniz.

    Betikleri indir

    İki SQL betiği göreceksiniz.

    • İlk SQL betiği, iki denetim tablosu oluşturmak için kullanılır. Ana denetim tablosu tablo listesini, dosya yolunu veya kopyalama davranışlarını depolar. Parametreli bağlı hizmeti kullandıysanız, bağlantı denetimi tablosu veri deponuzun bağlantı değerini depolar.
    • İkinci SQL betiği, bir depolama yordamı oluşturmak için kullanılır. Artımlı kopyalama işleri her seferinde tamamlandığında ana denetim tablosundaki filigran değerini güncelleştirmek için kullanılır.
  8. Denetim tablosu sunucunuza bağlanmak için SSMS'yi açın ve denetim tabloları ve depolama yordamı oluşturmak için iki SQL betiği çalıştırın.

    Kontrol tablosu komut dosyası oluştur

  9. İçindeki meta verileri gözden geçirmek için ana denetim tablosunu ve bağlantı denetimi tablosunu sorgulayın.

    Ana denetim tablosuSorgu denetimi tablo betiği1

    Bağlantı denetim tablosuSorgu kontrol tablosu betiği 2

  10. İşlem hatlarını görüntülemek ve hatalarını ayıklamak için ADF portalına geri dönün. "MetadataDrivenCopyTask_#######" olarak adlandırılarak oluşturulan bir klasör görürsünüz. "MetadataDrivenCopyTask###_TopLevel" ile işlem hattı adlandırmaya tıklayın ve ardından hata ayıklama çalıştırması'na tıklayın.

    Aşağıdaki parametreleri girmeniz gerekir:

    Parametre adı Açıklama
    Eşzamanlı Görevlerin Maksimum Sayısı İşlem hattı çalıştırılmadan önce çalıştırılacak en fazla eşzamanlı kopyalama etkinliği sayısını istediğiniz zaman değiştirebilirsiniz. Varsayılan değer, veri kopyalama aracına girdiğiniz değerdir.
    AnaKontrolTablosuAdı ana denetim tablosunun adını istediğiniz zaman değiştirebilirsiniz, böylece işlem hattı çalıştırmadan önce bu tablodan meta verileri alır.
    BağlantıDenetimTabloAdı İşlem hattının çalışmadan önce veri deposu bağlantısıyla ilgili meta verileri alması için bağlantı denetimi tablo adını istediğiniz zaman değiştirebilirsiniz (isteğe bağlı).
    LookupActivity'den Döndürülen Maksimum Nesne Sayısı Çıkış arama etkinliği sınırına ulaşmamak için, arama etkinliği tarafından döndürülen en fazla nesne sayısını tanımlamanın bir yolu vardır. Çoğu durumda varsayılan değerin değiştirilmesi gerekmez.
    windowStart Klasör yolu olarak dinamik bir öğe (örneğin, yyyy/mm/dd) girdiğinizde, mevcut tetikleyici zamanını işlem hattına ileterek dinamik klasör yolunu doldurmak için bu parametre kullanılır. İşlem hattı zamanlayıcı tetikleyicisi veya tumble pencereler tetikleyicisi tarafından tetiklendiğinde, kullanıcıların bu parametrenin değerini girmesine gerek yoktur. Örnek değer: 2021-01-25T01:49:28Z
  11. İşlem hatlarını kullanıma hazır hale getirmek için tetikleyiciyi etkinleştirin.

    Tetikleyici etkinleştirme

Veri kopyalama aracıyla denetim tablosunu güncelleştirme

Kopyalanacak nesneyi ekleyerek veya kaldırarak ya da her tablonun kopyalama davranışını değiştirerek denetim tablosunu her zaman doğrudan güncelleştirebilirsiniz. Ayrıca, denetim tablosunu düzenleme yolculuğunu kolaylaştırmak için veri kopyalama aracında kullanıcı arabirimi deneyimi de oluşturuyoruz.

  1. Üst düzey işlem hattına sağ tıklayın: MetadataDrivenCopyTask_xxx_TopLevel ve ardından Denetim tablosunu düzenle'yi seçin.

    Denetim tablosunu düzenleme1

  2. Düzenlemek istediğiniz satırları denetim tablosundan seçin.

    Denetim tablosunu düzenle2

  3. Kopya veri aracını inceleyin, ardından sizin için yeni bir SQL betiği üretecektir. Denetim tablonuzu güncelleştirmek için SQL betiğini yeniden çalıştırın.

    Denetim tablosunu düzenleme3

    Not

    İşlem hattı kesinlikle yeniden dağıtılmayacaktır. Yeni oluşturulan SQL betiği yalnızca denetim tablosunu güncelleştirmenize yardımcı olur.

Denetim tabloları

Ana denetim tablosu

Denetim tablosundaki her satır, kopyalanacak bir nesnenin meta verilerini (örneğin, bir tablo) içerir.

Sütun adı Açıklama
Kimlik Kopyalanacak nesnenin benzersiz kimliği.
KaynakNesneAyarları Kaynak veri kümesinin meta verileri. Şema adı, tablo adı vb. olabilir. Aşağıda bir örnek verilmiştir.
KaynakBağlantıAyarlarıAdı Bağlantı denetimi tablosundaki kaynak bağlantı ayarının adı. İsteğe bağlıdır.
KaynakAyarlarınıKopyala Kopyalama etkinliğindeki kaynak özelliğin meta verileri. Sorgu, bölümler vb. olabilir. Aşağıda bir örnek verilmiştir.
SinkObjectSettings Hedef veri kümesinin meta verileri. Dosya adı, klasör yolu, tablo adı vb. olabilir. Aşağıda bir örnek verilmiştir. Dinamik klasör yolu belirtilirse, değişken değeri denetim tablosunda buraya yazılmaz.
SinkConnectionSettingsName Bağlantı denetimi tablosundaki hedef bağlantı ayarının adı. İsteğe bağlıdır.
CopySinkSettings Kopyalama etkinliğindeki havuz özelliğinin meta verileri. PreCopyScript, tableOption vb. olabilir. Aşağıda bir örnek verilmiştir.
KopyalamaEtkinliğiAyarları Kopyalama etkinliğindeki translator özelliğinin meta verileri. Sütun eşlemesini tanımlamak için kullanılır.
TopLevelPipelineName Bu nesneyi kopyalayabilen Üst İşlem Hattı adı.
Tetikleyici Adı Bu nesneyi kopyalamak için işlem hattını tetikleyebilen tetikleyici adı. Hata ayıklama modu çalıştırıldığında, adı 'Sandbox' olacaktır. El ile yürütme ise, adı El ile'dir. Zamanlanmış bir çalıştırmaysa, ad ilişkili tetikleyicinin adıdır. Birden çok ad girişi olabilir.
DataYüklemeDavranışAyarları Tam yük ve delta yükü karşılaştırması.
Görev Kimliği Denetim tablosundaki TaskId'den sonra kopyalanacak nesnelerin sırası (ORDER BY [TaskId] DESC). Kopyalanacak çok fazla nesneniz varsa ancak yalnızca sınırlı sayıda eşzamanlı kopyaya izin veriliyorsa, daha önce hangi nesnelerin kopyalanabileceğine karar vermek için her nesnenin TaskId değerini değiştirebilirsiniz. Varsayılan değer 0'tir.
KopyaEtkinleştirildi Öğenin veri alımı işleminde etkinleştirilip etkinleştirilmediğini belirtin. İzin verilen değerler: 1 (etkin), 0 (devre dışı). Varsayılan değer 1'dir.

Bağlantı denetim tablosu

Denetim tablosundaki her satır, veri deposu için bir bağlantı ayarı içerir.

Sütun adı Açıklama
Ad Ana denetim tablosundaki parametreli bağlantının adı.
Bağlantı Ayarları Bağlantı ayarları. Veritabanı adı, Sunucu adı vb. olabilir.

Hatlar

Verileri kopyalama aracı tarafından üç farklı pipeline seviyesinin oluşturulduğunu göreceksiniz.

MetadataDrivenCopyTask_xxx_TopLevel

Bu işlem hattı, bu çalıştırmada kopyalanması gereken toplam nesne sayısını (tablolar vb.) hesaplar, izin verilen en fazla eşzamanlı kopyalama görevine göre sıralı toplu iş sayısıyla gelir ve sonra farklı toplu işlemleri sırayla kopyalamak için başka bir işlem hattı yürütür.

Parametreler

Parametre adı Açıklama
Eşzamanlı Görevlerin Maksimum Sayısı İşlem hattı çalıştırılmadan önce çalıştırılacak en fazla eşzamanlı kopyalama etkinliği sayısını istediğiniz zaman değiştirebilirsiniz. Varsayılan değer, veri kopyalama aracına girdiğiniz değerdir.
AnaKontrolTablosuAdı Ana denetim tablosunun tablo adı. İşlem hattı, çalıştırmadan önce bu tablodan meta verileri alır
BağlantıDenetimTabloAdı Bağlantı denetim tablosunun tablo adı (isteğe bağlı). İşlem hattı, çalışmadan önce veri deposu bağlantısıyla ilgili meta verileri alır
LookupActivity'den Döndürülen Maksimum Nesne Sayısı Çıkış arama etkinliği sınırına ulaşmamak için, arama etkinliği tarafından döndürülen en fazla nesne sayısını tanımlamanın bir yolu vardır. Çoğu durumda varsayılan değerin değiştirilmesi gerekmez.
windowStart Klasör yolu olarak dinamik bir öğe (örneğin, yyyy/mm/dd) girdiğinizde, mevcut tetikleyici zamanını işlem hattına ileterek dinamik klasör yolunu doldurmak için bu parametre kullanılır. İşlem hattı zamanlayıcı tetikleyicisi veya tumble pencereler tetikleyicisi tarafından tetiklendiğinde, kullanıcıların bu parametrenin değerini girmesine gerek yoktur. Örnek değer: 2021-01-25T01:49:28Z

Aktiviteler

Etkinlik adı Etkinlik türü Açıklama
Kopyalanacak Nesnelerin Toplamını Al Arama İşlevi Bu çalıştırmada kopyalanması gereken nesnelerin (tablolar vb.) toplam sayısını hesaplayın.
Nesnelerin Toplularını Ardışık Olarak Kopyala ForEach İzin verilen en fazla eşzamanlı kopyalama görevini temel alan sıralı toplu işlemlerin sayısını belirleyin ve ardından farklı toplu işleri sırayla kopyalamak için başka bir işlem hattı yürütebilirsiniz.
CopyObjectsInOneBtach Pipeline'i Çalıştır Başka bir işlem hattı yürüterek bir grup nesneyi kopyalayın. Bu gruba ait nesneler paralel olarak kopyalanacak.

MetadataDrivenCopyTask_xxx_ OrtaSeviye

Bu işlem hattı bir nesne grubunu kopyalar. Bu gruba ait nesneler paralel olarak kopyalanacak.

Parametreler

Parametre adı Açıklama
LookupActivity'den Döndürülen Maksimum Nesne Sayısı Çıkış arama etkinliği sınırına ulaşmamak için, arama etkinliği tarafından döndürülen en fazla nesne sayısını tanımlamanın bir yolu vardır. Çoğu durumda varsayılan değerin değiştirilmesi gerekmez.
TopLevelPipelineName Üst katman işlem hattının adı.
Tetikleyici Adı Tetikleyicinin adı.
PartininMevcutSıralıNumarası Sıralı toplu işlem tanımlayıcı.
Kopyalanacak Nesnelerin Toplamı Kopyalanacak nesnelerin toplam sayısı.
Mevcut Parti için Kopyalanacak Nesnelerin Toplamı Geçerli toplu işlemde kopyalanacak nesne sayısı.
AnaKontrolTablosuAdı Ana denetim tablosunun adı.
BağlantıDenetimTabloAdı Bağlantı denetim tablosunun adı.

Aktiviteler

Etkinlik adı Etkinlik türü Açıklama
BirPartiyiBirdenFazlaGrubaBöl ForEach Arama etkinliğinin çıkış sınırını aşmamak için nesneleri tek bir partiden birden fazla paralel gruba bölün.
KopyalanacakGrupBaşınaNesneAl Arama İşlevi Bu grupta kopyalanması gereken denetim tablosundan nesneleri (tablolar vb.) alın. Denetim tablosundaki TaskId'den sonra kopyalanacak nesnelerin sırası (ORDER BY [TaskId] DESC).
CopyObjectsInOneGroup Pipeline'i Çalıştır Bir gruptaki nesneleri kopyalamak için başka bir işlem hattı yürütebilirsiniz. Bu gruba ait nesneler paralel olarak kopyalanır.

MetadataDrivenCopyTask_xxx_ AltDüzey

Bu işlem hattı nesneleri bir gruptan kopyalar. Bu gruba ait nesneler paralel olarak kopyalanır.

Parametreler

Parametre adı Açıklama
KopyalanacakGrupBaşınaNesneler Geçerli grupta kopyalanacak nesne sayısı.
BağlantıDenetimTabloAdı Bağlantı denetim tablosunun adı.
windowStart Kullanıcı tarafından yapılandırılırsa dinamik klasör yolunu doldurmak için geçerli tetikleyici süresini işlem hattına geçirmek için kullanılır.

Aktiviteler

Etkinlik adı Etkinlik türü Açıklama
BirGruptanNesneListele ForEach Bir gruptaki nesneleri listeleyin ve her birini aşağı akış etkinliklerine yineleyin.
Yükleme Davranışına Dayalı İş Rotası Switch Her nesne için yükleme davranışını denetleyin. Varsayılan veya FullLoad durumu söz konusuysa, tam yükleme gerçekleştirin. DeltaLoad durumuysa, değişiklikleri belirlemek için zaman damgası (watermark) sütunu aracılığıyla artımlı yükleme yapın.
FullLoadOneObject Kopyala Bu nesne üzerinde tam bir anlık görüntü alın ve hedefe kopyalayın.
DeltaLoadOneObject Kopyala Değişiklikleri tanımlamak için filigran sütunundaki değeri karşılaştırarak değiştirilen verileri yalnızca son seferden kopyalayın.
GetMaxWatermarkValue Arama İşlevi Filigran sütunundan maksimum değeri almak için kaynak nesneyi sorgula.
UpdateWatermarkColumnValue StoreProcedure Kontrol tablosuna, bir dahaki sefere kullanmak üzere yeni filigran değerini yeniden yazın.

Bilinen sınırlamalar

  • IR adı, veritabanı türü, dosya biçimi türü ADF'de parametrelenemez. Örneğin, hem Oracle Server'dan hem de SQL Server veri almak istiyorsanız, iki farklı parametreli işlem hattı gerekir. Ancak tek bir denetim tablosu, iki işlem hattı kümesi tarafından paylaşılabilir.
  • OPENJSON, veri kopyalama aracı tarafından oluşturulan SQL betiklerinde kullanılır. Denetim tablosunu barındırmak için SQL Server kullanıyorsanız, OPENJSON işlevini desteklemek için SQL Server 2016 (13.x) ve üzeri olmalıdır.

Veri Kopyalama aracını kullanan şu öğreticileri deneyin: