Eşleme veri akışında var olan dönüştürme

Ş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 data factory Fabric 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.

Veri akışları hem Azure Data Factory işlem hatlarında hem de Azure Synapse Analytics işlem hatlarında kullanılabilir. Bu makale, eşleme veri akışları için geçerlidir. Dönüştürmeler hakkında yeniyseniz , Eşleme veri akışlarını kullanarak verileri dönüştürme başlıklı giriş makalesine bakın.

Var olan dönüştürme, verilerinizin başka bir kaynakta mı yoksa akışta mı var olduğunu denetleen bir satır filtreleme dönüşümüdür. Çıkış akışı, sol akışta bulunan veya sağ akışta var olmayan tüm satırları içerir. Var olan dönüştürme ve SQL WHERE EXISTSile SQL WHERE NOT EXISTS benzerdir.

Yapılandırma

  1. Sağ akış açılan listesinde hangi veri akışının var olduğunu denetleyebileceğinizi seçin.
  2. Varoluş türü ayarında var olan veya olmayan verileri aradığınızı belirtin.
  3. Özel ifade isteyip istemediğinizi seçin.
  4. Koşullarınız mevcut olduğunda karşılaştırmak istediğiniz anahtar sütunlarını seçin. Varsayılan olarak, veri akışı her akıştaki bir sütun arasında eşitlik arar. Hesaplanan değerle karşılaştırmak için sütun açılan listesinin üzerine gelin ve Hesaplanan sütun'a tıklayın.

Mevcut ayarlar

Birden çok mevcut koşul

Her akıştan birden çok sütunu karşılaştırmak için, var olan bir satırın yanındaki artı simgesine tıklayarak yeni bir var olan koşulu ekleyin. Her ek koşul bir "ve" deyimiyle birleştirilir. İki sütunu karşılaştırmak aşağıdaki ifadeyle aynıdır:

source1@column1 == source2@column1 && source1@column2 == source2@column2

Özel ifade

"ve" ve "eşittir" dışında işleçler içeren serbest biçimli bir ifade oluşturmak için Özel ifade alanını seçin. Mavi kutuya tıklayarak veri akışı ifade oluşturucusu aracılığıyla özel bir ifade girin.

Özel ayarlar var

Şema kayması aracılığıyla sütunların "geç bağlamasını" kullanarak veri akışlarınızda dinamik desenler oluşturuyorsanız, sütun adlarını sabit kodlamadan (erken bağlama gibi) var olan dönüşümü kullanmak için ifade işlevini kullanabilirsiniz byName() . Örnek: toString(byName('ProductNumber','source1')) == toString(byName('ProductNumber','source2'))

Yayın iyileştirme

Yayın Birleştirme

Birleştirmelerde, aramalar ve var olan dönüştürmede, veri akışlarından biri veya her ikisi de çalışan düğümü belleğine sığıyorsa, Yayını etkinleştirerek performansı iyileştirebilirsiniz. Varsayılan olarak, spark altyapısı bir tarafı yayınlayıp yayınlamamaya otomatik olarak karar verir. Yayınlamak istediğiniz tarafı el ile seçmek için Sabit'i seçin.

Birleşimleriniz zaman aşımı hatalarıyla karşılaşmıyorsa Kapalı seçeneği aracılığıyla yayını devre dışı bırakmanız önerilmez.

Veri akışı betiği

Sözdizimi

<leftStream>, <rightStream>
    exists(
        <conditionalExpression>,
        negate: { true | false },
        broadcast: { 'auto' | 'left' | 'right' | 'both' | 'off' }
    ) ~> <existsTransformationName>

Örnek

Aşağıdaki örnek, sol akış ve sağ akış checkForChangesNameNorm2alan adlı TypeConversions bir var olan dönüştürmedir. var olan koşul, her akıştaki ve NameNorm2@EmpID == TypeConversions@EmpID && NameNorm2@Region == DimEmployees@RegionEMPID sütunları eşleşirse true değerini döndüren ifadedirRegion. Var olup negate olmadığını kontrol ettiğimiz için yanlış. İyileştirme sekmesinde herhangi bir yayını etkinleştirmiyoruz, bu nedenle broadcast değerine 'none'sahiptir.

Kullanıcı arabirimi deneyiminde bu dönüşüm aşağıdaki görüntüye benzer:

Mevcut örnek

Bu dönüşümün veri akışı betiği aşağıdaki kod parçacığındadır:

NameNorm2, TypeConversions
    exists(
        NameNorm2@EmpID == TypeConversions@EmpID && NameNorm2@Region == DimEmployees@Region,
	    negate:false,
	    broadcast: 'auto'
    ) ~> checkForChanges

Benzer dönüştürmeler Arama ve Katılma'dır.