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
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ş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.
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
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
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
İlgili içerik
- Birleştirme ve var olan dönüştürmelerin her ikisi de birden çok akış girişi alır
- Eşleşen ve eşleşmeyen değerlerdeki satırları bölmek için ile
isMatch()
koşullu bölme dönüştürmesi kullanma
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