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

Uygulama hedefi: Azure SYNAPSE Analytics 'i Azure Data Factory

Var olan dönüştürme, verilerinizin başka bir kaynakta veya akışta bulunup bulunmadığını denetleyen bir satır filtreleme dönüşümünüze sahiptir. Çıkış akışı, sol akıştaki mevcut veya doğru akışta bulunmayan tüm satırları içerir. Var olan dönüştürme SQL WHERE EXISTS ve ile benzerdir SQL WHERE NOT EXISTS .

Yapılandırma

  1. Sağ Akış açılan menüsünde var olan veri akışını kontrol ettiğiniz verileri seçin.
  2. Mevcut tür ayarında verilerin mevcut olup olmadığını mı yoksa mevcut mi olduğunu belirtin.
  3. Özel bir ifade isteyip istemediğinizi seçin.
  4. Mevcut koşullarınız olarak karşılaştırmak istediğiniz anahtar sütunları seçin. Varsayılan olarak, veri akışı her akıştaki bir sütun arasında eşitlik arar. Hesaplanan bir değer ile karşılaştırmak için, sütun açılan listesinin üzerine gelin ve hesaplanan sütun' u seçin.

Mevcut ayarlar

Birden çok mevcut koşul

Her akıştaki birden çok sütunu karşılaştırmak için var olan bir satırın yanındaki artı simgesine tıklayarak yeni bir mevcut koşul ekleyin. Her ek koşul bir "and" ifadesiyle 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ışındaki işleçleri 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

Yayın iyileştirmesi

Yayın katılımı

Birleşimler, aramalar ve mevcut dönüşümde, bir veya her iki veri akışı çalışan düğümü belleğine sığması halinde yayını etkinleştirerek performansı iyileştirebilirsiniz. Spark altyapısı, varsayılan olarak bir kenar yayınlanıp yayınlanmayacağını otomatik olarak karar verir. Hangi tarafın yayınlanmak üzere el ile seçmek için, sabit' i seçin.

Birleşimlerinizin zaman aşımı hatalarıyla çalışmadığı durumlar dışında yayınlamayı devre dışı bırakmanız önerilmez.

Veri akışı betiği

Syntax

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

Örnek

Aşağıdaki örnek, checkForChanges sol akış NameNorm2 ve sağ Akış alan adlı bir mevcut dönüşümdir TypeConversions . Exists koşulu, NameNorm2@EmpID == TypeConversions@EmpID && NameNorm2@Region == DimEmployees@Region EMPID her akıştaki ve sütunlarının her ikisi de eşleşiyorsa true döndüren ifadedir Region . Varlığını denetliyoruz, negate yanlış şeklindedir. En iyileştirme sekmesinde herhangi bir yayını etkinleştirmedik, bu nedenle broadcast değer içeriyor 'none' .

Data Factory UX 'de, bu dönüşüm aşağıdaki görüntüye benzer şekilde görünür:

Mevcut örnek

Bu dönüşüm için veri akışı betiği aşağıdaki kod parçacığında verilmiştir:

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

Sonraki adımlar

Benzer dönüşümler arama ve birleşimdir.