Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
Veri akışları hem Azure Data Factory işlem hatlarında hem de Azure Synapse Analytics işlem hatlarında kullanılabilir. Bu makale, eşleme veri akışları için geçerlidir. Dönüştürmeler hakkında yeniyseniz , Eşleme veri akışlarını kullanarak verileri dönüştürme başlıklı giriş makalesine bakın.
İpucu
Veri Akışı 2. Nesil'deki eşdeğer dönüştürme (Sorguları birleştirme) için bkz. Veri akışı kullanıcılarını eşlemek için Veri Akışı 2. Nesil kılavuzu.
Başka bir kaynaktan verilere başvurmak için veri akışında 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şim işlemine 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ış, join işleminin 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 Kriteri: 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. Herhangi bir satır, en hızlı şekilde yürütüldüğü için tavsiye edilir. İ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şiyor 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ı kaldırmak için arama dönüşümünüzden sonra bir seçme işlemi ekleyin. Havuz dönüşümünde sütunlar da bırakılabilir veya yeniden adlandırılabilir.
Eşit olmayan birleşimler
Arama şartlarınızda eşit değil (!=) veya büyüktür (>) gibi bir şart işleci kullanmak için, iki sütun arasındaki işleç açılır menüsünü değiştirin. Eşdeğer olmayan birleşimler, Optimize sekmesinde Sabit yayın kullanılarak iki akıştan en az birinin yayınlanmasını gerektirir.
Eşleşen satırları çözümleme
Arama dönüştürme işleminden sonra işlev 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, isMatch() işlevi ile bölmek için koşullu bölme dönüşümü kullanmaktır. Yukarıdaki örnekte, eşleşen satırlar üst akışa geçer, eşleşmeyen satırlar ise NoMatch akışına yönlendirilir.
Arama koşullarını test etme
Arama dönüştürmesini hata ayıklama modunda veri önizlemesi ile test ederken, bilinen küçük bir veri kümesi kullanın. Büyük bir veri kümesinden satır örnekleme yaparken, test için hangi satırların ve anahtarların okunacağını tahmin edemezsiniz. Sonuç belirlenemez, yani birleştirme koşullarınız herhangi bir eşleşme döndürmeyebilir.
Yayın iyileştirme
Birleştirme, arama ve varlık dönüşümlerinde, veri akışlarından biri veya her ikisi de işçi düğümü belleğine sığıyorsa, Yayını etkinleştirerek performansı iyileştirebilirsiniz. Varsayılan olarak, Spark motoru 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.
Yayını Kapalı seçeneği aracılığıyla devre dışı bırakmanız, yalnızca birleşimleriniz zaman aşımı hatalarıyla karşılaşıyorsa önerilir.
Önbelleğe alınmış arama
Eğer aynı kaynak üzerinde birden çok küçük sorgu yapıyorsanız, önbelleğe alınmış bir veri depolama ve sorgu, sorgu dönüşümünden daha iyi bir kullanım durumu olabilir. Önbellek veri deposunun daha iyi olabileceği yaygın örnekler, bir veri deposunda en yüksek değeri sorgulamak ve bir hata mesajı veritabanıyla hata kodlarını 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
- join ve exists dönüştürmelerinin her ikisi de birden çok akış girdisini alır.
-
Koşullu bölme dönüşümü ile
isMatch()eşleşen ve eşleşmeyen değerler üzerinden satırları bölmek için kullanın