Aracılığıyla paylaş


Eşleme veri akışında arama dönüştürmeleri

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.

Bir veri akışı akışındaki başka bir kaynaktan verilere başvurmak için arama dönüştürmesini kullanın. Arama dönüştürmesi, eşleşen verilerdeki sütunları kaynak verilerinize ekler.

Arama dönüşümü, sol dış birleşime benzer. Birincil akıştaki tüm satırlar çıkış akışında arama akışından ek sütunlarla birlikte bulunur.

Yapılandırma

Aşağıdaki metinde açıklanan etiketlerin bulunduğu Arama ayarları sekmesini gösteren ekran görüntüsü.

Birincil akış: Gelen veri akışı. Bu akış, birleştirmenin sol tarafına eşdeğerdir.

Arama akışı: Birincil akışa eklenen veriler. Hangi verilerin eklendiği arama koşullarına göre belirlenir. Bu akış, birleştirmenin sağ tarafına eşdeğerdir.

Birden çok satırı eşleştir: Etkinleştirilirse, birincil akışta birden çok eşleşmesi olan bir satır birden çok satır döndürür. Aksi takdirde, 'Eşleştir' koşuluna göre yalnızca tek bir satır döndürülür.

Eşleşme tarihi: Yalnızca 'Birden çok satırla eşleştir' seçili değilse görünür. Herhangi bir satırda mı, ilk eşleşmede mi yoksa son eşleşmede mi eşleşeceğini seçin. En hızlı şekilde yürütülürken herhangi bir satır önerilir. İlk satır veya son satır seçiliyse sıralama koşullarını belirtmeniz gerekir.

Arama koşulları: Hangi sütunların eşleşeceğini seçin. Eşitlik koşulu karşılanırsa, satırlar eşleşme olarak kabul edilir. Veri akışı ifade dilini kullanarak bir değeri ayıklamak için üzerine gelin ve 'Hesaplanan sütun' öğesini seçin.

Her iki akıştaki tüm sütunlar çıkış verilerine eklenir. Yinelenen veya istenmeyen sütunları bırakmak için arama dönüştürmenizden sonra bir seçme dönüştürmesi ekleyin. Havuz dönüşümünde sütunlar da bırakılabilir veya yeniden adlandırılabilir.

Eşit olmayan birleşimler

Arama koşullarınızda eşit (!=) veya büyüktür (>) gibi bir koşullu işleç kullanmak için, iki sütun arasındaki işleç açılan listesini değiştirin. Eşdeğer olmayan birleşimler, İyileştir sekmesindeki Sabit yayın kullanılarak iki akışın en az birinin yayınlanması gerekir.

Eşit olmayan arama

Eşleşen satırları çözümleme

Arama dönüştürme işleminden sonra işlevi isMatch() , aramanın tek tek satırlar için eşleşip eşleşmediğini görmek için kullanılabilir.

Arama düzeni

Bu desene örnek olarak işleve bölmek için koşullu bölme dönüştürmesi isMatch() kullanılır. Yukarıdaki örnekte eşleşen satırlar üst akışta, eşleşmeyen satırlar ise akışta NoMatch akar.

Arama koşullarını test etme

Hata ayıklama modunda veri önizlemesi ile arama dönüştürmesini test ederken, bilinen küçük bir veri kümesi kullanın. Büyük bir veri kümesinden satır örneklemesi yaparken, test için hangi satırların ve anahtarların okunacağını tahmin edebilirsiniz. Sonuç belirlenemez, yani birleştirme koşullarınız herhangi bir eşleşme döndürmeyebilir.

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.

Önbelleğe alınmış arama

Aynı kaynakta birden çok daha küçük arama yapıyorsanız, önbelleğe alınmış bir havuz ve arama, arama dönüşümünden daha iyi bir kullanım örneği olabilir. Önbellek havuzu daha iyi olabilir yaygın örnekler, bir veri deposunda en yüksek değeri aramak ve hata iletisi veritabanıyla hata kodları eşleştirmektir. Daha fazla bilgi için önbellek havuzları ve önbelleğe alınmış aramalar hakkında bilgi edinin.

Veri akışı betiği

Sözdizimi

<leftStream>, <rightStream>
    lookup(
        <lookupConditionExpression>,
        multiple: { true | false },
        pickup: { 'first' | 'last' | 'any' },  ## Only required if false is selected for multiple
        { desc | asc }( <sortColumn>, { true | false }), ## Only required if 'first' or 'last' is selected. true/false determines whether to put nulls first
        broadcast: { 'auto' | 'left' | 'right' | 'both' | 'off' }
    ) ~> <lookupTransformationName>

Örnek

Aşağıdaki kodun Arama ayarları sekmesini gösteren ekran görüntüsü.

Yukarıdaki arama yapılandırması için veri akışı betiği aşağıdaki kod parçacığındadır.

SQLProducts, DimProd lookup(ProductID == ProductKey,
    multiple: false,
    pickup: 'first',
    asc(ProductKey, true),
    broadcast: 'auto')~> LookupKeys