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 EXISTS
ile SQL WHERE EXISTS
benzerdir.
Yapılandırma
- Sağ akış açılan listesinde hangi veri akışının var olduğunu denetleyebileceğinizi seçin.
- Varoluş türü ayarında var olan veya olmayan verileri aradığınızı belirtin.
- Özel ifade isteyip istemediğinizi seçin.
- 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.
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.
Ş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
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
TypeConversions
alan 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:
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
İlgili içerik
Benzer dönüştürmeler Arama ve Katılma'dır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin