Aracılığıyla paylaş


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

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Veri akışları hem Azure Data Factory'de hem de Azure Synapse Pipelines'da kullanılabilir. Bu makale, eşleme veri akışları için geçerlidir. Dönüştürmeler hakkında yeniyseniz lütfen eşleme veri akışı 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 NOT EXISTSile SQL WHERE 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ış NameNorm2 TypeConversionsalan adlı checkForChanges bir var olan dönüştürmedir. var olan koşul, her akıştaki ve EMPID Region sütunları eşleşirse true değerini döndüren ifadedirNameNorm2@EmpID == TypeConversions@EmpID && NameNorm2@Region == DimEmployees@Region. 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.