Aracılığıyla paylaş


Eşleme veri akışında dönüşüm seçimi

ŞUNLARA UYGULANIR: 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 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.

Sütunları yeniden adlandırmak, bırakmak veya yeniden sıralamak için seçim dönüşümünü kullanın. Bu dönüştürme satır verilerini değiştirmez, ancak hangi sütunların aşağı akışa yayileceğini seçer.

Belirli bir dönüştürmede kullanıcılar sabit eşlemeler belirtebilir, kural tabanlı eşleme yapmak için desenleri kullanabilir veya otomatik eşlemeyi etkinleştirebilir. Sabit ve kural tabanlı eşlemelerin her ikisi de aynı seçme dönüştürmesi içinde kullanılabilir. Bir sütun tanımlı eşlemelerden biriyle eşleşmezse bırakılır.

Sabit eşleme

Projeksiyonunuzda tanımlanan 50'den az sütun varsa, tüm tanımlı sütunların varsayılan olarak sabit eşlemesi olur. Sabit eşleme tanımlanmış, gelen bir sütunu alır ve bunu belirli bir adla eşler.

Sabit eşleme

Not

Sabit eşleme kullanarak sürüklenen sütunu eşleyemez veya yeniden adlandıramazsınız

Hiyerarşik sütunları eşleme

Hiyerarşik sütunun alt sütununu en üst düzey sütuna eşlemek için sabit eşlemeler kullanılabilir. Tanımlı bir hiyerarşiniz varsa, bir alt sütun seçmek için sütun açılır menüsünü kullanın. Seçme dönüştürmesi, alt sütunun değeri ve veri türüyle yeni bir sütun oluşturur.

hiyerarşik eşleme

Kural tabanlı eşleme

Aynı anda birçok sütunu eşlemek veya kaydırılan sütunları aşağı akışa geçirmek istiyorsanız, sütun desenlerini kullanarak eşlemelerinizi tanımlamak için kural tabanlı eşlemeyi kullanın. Sütunların name, type, stream ve position öğelerine göre eşleştirin. Sabit ve kural tabanlı eşlemelerin herhangi bir birleşimine sahip olabilirsiniz. Varsayılan olarak, 50'den büyük sütuna sahip tüm projeksiyonlar, her sütunda eşleşen ve giriş yapılan adı veren kural tabanlı eşlemeye varsayılan olarak ayarlanır.

Kural tabanlı eşleme eklemek için Eşleme ekle'ye tıklayın ve Kural tabanlı eşleme'yi seçin.

Eşleme ekle'den seçilen Kural tabanlı eşlemeyi gösteren ekran görüntüsü.

Her kural tabanlı eşleme iki giriş gerektirir: hangi koşula göre eşleştirilir ve eşlenen her sütunun adı. her iki değer de ifade oluşturucusu aracılığıyla girilir. Sol ifade kutusuna boole eşleştirme koşulunuzu girin. Sağ ifade kutusunda, eşleşen sütunun hangi sütuna eşleneceğini belirtin.

Eşlemeyi gösteren ekran görüntüsü.

Eşleşen bir sütun girdisinin adına referans vermek için $$ söz dizimini kullanın. Yukarıdaki görüntüyü örnek olarak kullanarak, bir kullanıcının adları altı karakterden kısa olan tüm dize sütunlarında eşleştirmek istediğini söyleyebiliriz. Gelen bir sütun olarak adlandırılmışsa test, ifade $$ + '_short' sütununu test_shortyeniden adlandırır. Var olan tek eşleme buysa, koşulu karşılamayen tüm sütunlar çıktı verilerinden bırakılır.

Desenler, kaymış ve tanımlanmış sütunların her ikisiyle de eşleşir. Bir kural tarafından eşlenen tanımlı sütunları görmek için kuralın yanındaki gözlük simgesine tıklayın. Veri önizlemesini kullanarak çıkışınızı doğrulayın.

Regex eşlemesi

Aşağı doğru köşeli çift ayraç simgesine tıklarsanız, bir regex eşleme koşulu belirtebilirsiniz. Bir regex eşleme koşulu, belirtilen regex koşuluyla eşleşen tüm sütun adlarla eşleşir. Bu, standart kural tabanlı eşlemelerle birlikte kullanılabilir.

Hiyerarşi düzeyi ve Ad eşleşmeleri ile regex eşleme koşulunu gösteren ekran görüntüsü.

Yukarıdaki örnek, regex deseni (r) veya küçük harf r içeren herhangi bir sütun adıyla eşleşir. Standart kural tabanlı eşlemeye benzer şekilde, eşleşen tüm sütunlar sağdaki koşul tarafından $$ söz dizimi kullanılarak değiştirilir.

Sütun adınızda birden fazla regex eşleşmesi varsa, hangi eşleşmeye atıfta bulunduğunuzu belirtmek için 'n' belirli eşleşmeleri ifade eden $n kullanabilirsiniz. Örneğin, '$2' sütun adı içindeki ikinci eşleşmeye atıfta bulunur.

Kural tabanlı hiyerarşiler

Tanımlı projeksiyonunuzun hiyerarşisi varsa, hiyerarşi alt sütunlarını eşlemek için kural tabanlı eşlemeyi kullanabilirsiniz. Eşleşen bir koşul ve alt sütunlarını eşlemek istediğiniz karmaşık sütunu belirtin. Eşleşen her alt sütun, sağda belirtilmiş olan 'Ad olarak' kuralı kullanılarak çıktı olarak verilecektir.

Hiyerarşi için kullanılan kural tabanlı eşlemeyi gösteren ekran görüntüsü.

Yukarıdaki örnek, karmaşık sütunun atüm alt sütunlarında eşleşir. a iki alt sütun b ve ciçerir. Çıkış şeması, 'Ad olarak' $$ koşuluna göre iki sütun b ve c içerecektir.

Parametrizasyon

Kural tabanlı eşlemeyi kullanarak sütun adlarını parametreleştirebilirsiniz. Gelen sütun adlarını bir parametreyle eşleştirmek için anahtar sözcüğünü name kullanın. Örneğin, bir veri akışı parametreniz mycolumnvarsa, değerine eşit mycolumnolan herhangi bir sütun adıyla eşleşen bir kural oluşturabilirsiniz. Eşleşen sütunu 'iş anahtarı' gibi sabit kodlanmış bir dize olarak yeniden adlandırabilir ve buna açıkça başvurabilirsiniz. Bu örnekte, eşleşen koşul `name == $mycolumn` ve ad koşulu 'iş anahtarı'dır.

Otomatik eşleme

Seçme dönüştürmesi eklerken, Otomatik eşleme kaydırıcısı değiştirilerek Otomatik eşleme etkinleştirilebilir. Otomatik eşleme ile, select dönüşümü aynı ada sahip olan yinelenenleri hariç tutarak tüm gelen sütunları eşler. Bu, sürüklenen sütunları içerir; bu da çıkış verilerinin şemanızda tanımlanmamış sütunlar içerebileceği anlamına gelir. Sürüklenen sütunlar hakkında daha fazla bilgi için şema sapması bölümüne bakın.

Otomatik eşleme

Otomatik eşleme açıkken, seçme dönüşümü kopya kayıt ayarlarını dikkate alır ve mevcut sütunlar için yeni bir takma ad oluşturur. Aliasing, aynı akışta ve kendi kendine katılma senaryolarında birden fazla birleştirme veya arama işlemi yaparken kullanışlıdır.

Yinelenen sütunlar

Varsayılan olarak, seçim dönüştürmesi hem giriş hem de çıkış projeksiyonunda yinelenen sütunları kaldırır. Yinelenen giriş sütunları genellikle birleştirme ve arama dönüşümlerinden gelir ve burada sütun adları birleştirmenin her tarafında çoğaltılır. İki farklı giriş sütununu aynı ada eşlerseniz yinelenen çıkış sütunları oluşabilir. Onay kutusunu açıp kapatarak yinelenen sütunların bırakılıp bırakılmayacağını veya geçirileceğini seçin.

Yinelenenleri Atla

Sütunları sıralama

Eşleme sırası, çıkış sütunlarının sırasını belirler. Bir giriş sütunu birden çok kez eşlenirse, yalnızca ilk eşleme uygulanır. Yinelenen sütun bırakma işlemi için ilk eşleşme korunur.

Veri akışı skripti

Sözdizimi

<incomingStream>
    select(mapColumn(
        each(<hierarchicalColumn>, match(<matchCondition>), <nameCondition> = $$), ## hierarchical rule-based matching
        <fixedColumn>, ## fixed mapping, no rename
        <renamedFixedColumn> = <fixedColumn>, ## fixed mapping, rename
        each(match(<matchCondition>), <nameCondition> = $$), ## rule-based mapping
        each(patternMatch(<regexMatching>), <nameCondition> = $$) ## regex mapping
    ),
    skipDuplicateMapInputs: { true | false },
    skipDuplicateMapOutputs: { true | false }) ~> <selectTransformationName>

Örnek

Aşağıda bir seçme eşlemesi ve veri akışı betiği örneği verilmiştir:

Betik örneği seçme

DerivedColumn1 select(mapColumn(
        each(a, match(true())),
        movie,
        title1 = title,
        each(match(name == 'Rating')),
        each(patternMatch(`(y)`),
            $1 + 'regex' = $$)
    ),
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> Select1
  • Sütunları yeniden adlandırmak, yeniden sıralamak ve takma ad atamak için Seç'i kullandıktan sonra, verilerinizi bir veri deposuna getirmek için Havuz dönüştürmesini kullanın.