Share via


Eşleme veri akışları performansı ve ayarlama kılavuzu

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

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!

Azure Data Factory ve Synapse işlem hatlarında eşleme veri akışları, büyük ölçekte veri dönüşümleri tasarlamak ve çalıştırmak için kod içermeyen bir arabirim sağlar. Eşleme veri akışlarını iyi tanımıyorsanız bkz.Eşleme Veri Akışına Genel Bakış. Bu makalede, performans karşılaştırmalarınızı karşılayacak şekilde veri akışlarınızı ayarlamanın ve iyileştirmenin çeşitli yolları vurgulanır.

Veri akışlarıyla verileri dönüştüren bazı örnek zamanlamaları görmek için aşağıdaki videoyu izleyin.

Veri akışı performansını izleme

Hata ayıklama modunu kullanarak dönüştürme mantığınızı doğruladıktan sonra, veri akışınızı bir işlem hattında etkinlik olarak uçtan uca çalıştırın. Veri akışları yürütme veri akışı etkinliği kullanılarak işlem hattında çalışır hale getirilir. Veri akışı etkinliği, dönüştürme mantığının ayrıntılı yürütme planını ve performans profilini görüntüleyen diğer etkinliklerle karşılaştırıldığında benzersiz bir izleme deneyimine sahiptir. Bir veri akışının ayrıntılı izleme bilgilerini görüntülemek için işlem hattının etkinlik çalıştırma çıkışındaki gözlük simgesini seçin. Daha fazla bilgi için bkz . Eşleme veri akışlarını izleme.

Data Flow Monitor

Veri akışı performansını izlerken dikkat edilmesi gereken dört olası performans sorunu vardır:

  • Küme başlangıç zamanı
  • Kaynaktan okuma
  • Dönüştürme süresi
  • Havuza yazma

Data Flow Monitoring

Küme başlangıç zamanı, Apache Spark kümesinin başlatılması için gereken süredir. Bu değer, izleme ekranının sağ üst köşesinde bulunur. Veri akışları, her işin yalıtılmış bir küme kullandığı tam zamanında modelde çalışır. Bu başlangıç süresi genellikle 3-5 dakika sürer. Sıralı işler için, bir yaşam süresi değeri etkinleştirilerek başlangıç süresi azaltılabilir. Daha fazla bilgi için Integration Runtime performansı bölümündeki Yaşam süresi bölümüne bakın.

Veri akışları, iş mantığınızı mümkün olan en kısa sürede gerçekleştirmek için 'aşamalarda' yeniden sıralayan ve çalıştıran bir Spark iyileştiricisi kullanır. Veri akışınızın yazdığı her havuz için izleme çıkışı, her dönüştürme aşamasının süresini ve havuza veri yazma süresini listeler. En büyük zaman büyük olasılıkla veri akışınızın performans sorunudur. En büyük olan dönüştürme aşaması bir kaynak içeriyorsa, okuma sürenizi daha da iyileştirmeye bakmak isteyebilirsiniz. Dönüştürme işlemi uzun sürüyorsa tümleştirme çalışma zamanınızın boyutunu yeniden bölümlemeniz veya artırmanız gerekebilir. Havuz işleme süresi büyükse veritabanınızın ölçeğini artırmanız veya tek bir dosyaya çıkış yapmadığınızdan emin olmanız gerekebilir.

Veri akışınızın performans sorununu belirledikten sonra performansı geliştirmek için aşağıdaki iyileştirme stratejilerini kullanın.

Veri akışı mantığını test etme

Kullanıcı arabiriminden veri akışları tasarlarken ve test ederken, hata ayıklama modu canlı bir Spark kümesine karşı etkileşimli olarak test etmenizi sağlar. Bu sayede bir kümenin ısınmasını beklemeden verilerin önizlemesini görebilir ve veri akışlarınızı yürütebilirsiniz. Daha fazla bilgi için bkz . Hata Ayıklama Modu.

İyileştirme sekmesi

İyileştir sekmesi, Spark kümesinin bölümleme düzenini yapılandırmak için ayarları içerir. Bu sekme, veri akışının her dönüşümünde bulunur ve dönüştürme tamamlandıktan sonra verileri yeniden bölümleyip bölümlemeyeceğini belirtir. Bölümlemenin ayarlanması, verilerinizin işlem düğümleri arasında dağılımı ve genel veri akışı performansınızda hem olumlu hem de olumsuz etkileri olabilecek veri yerelliği iyileştirmeleri üzerinde denetim sağlar.

Screenshot shows the Optimize tab, which includes Partition option, Partition type, and Number of partitions.

Varsayılan olarak, hizmetin dönüştürmenin geçerli çıkış bölümlemesi tutmasını belirten Geçerli bölümlemesi kullan seçilidir. Verilerin yeniden bölümlenmesi zaman aldığından, çoğu senaryoda Geçerli bölümlemenin kullanılması önerilir. Verilerinizi yeniden bölümlendirmek isteyebileceğiniz senaryolar, verilerinizi önemli ölçüde dengesizleştiren toplama ve birleştirmelerden sonra veya BIR SQL veritabanında Kaynak bölümlemeyi kullanırken içerir.

Herhangi bir dönüştürmede bölümlemesi değiştirmek için İyileştir sekmesini seçin ve Bölümlemesi Ayarla radyo düğmesini seçin. Bölümleme için size bir dizi seçenek sunulur. Bölümlemenin en iyi yöntemi veri birimlerinize, aday anahtarlarınıza, null değerlerinize ve kardinalitenize göre farklılık gösterir.

Önemli

Tek bölüm, tüm dağıtılmış verileri tek bir bölümde birleştirir. Bu, tüm aşağı akış dönüşümlerini ve yazmalarını da önemli ölçüde etkileyen çok yavaş bir işlemdir. Bu seçeneği kullanmak için açık bir iş nedeni olmadığı sürece bu seçenek kesinlikle önerilmez.

Aşağıdaki bölümleme seçenekleri her dönüştürmede kullanılabilir:

Dönüşümlü dağıtım

Hepsini bir kez deneme, verileri bölümler arasında eşit olarak dağıtır. Sağlam ve akıllı bir bölümleme stratejisi uygulamak için iyi anahtar adaylarınız olmadığında hepsini bir kez deneme özelliğini kullanın. Fiziksel bölüm sayısını ayarlayabilirsiniz.

Karma

Hizmet, benzer değerlere sahip satırların aynı bölüme düşmesi için tekdüzen bölümler oluşturmak için bir sütun karması oluşturur. Karma seçeneğini kullandığınızda, olası bölüm dengesizliği için test edin. Fiziksel bölüm sayısını ayarlayabilirsiniz.

Dinamik aralık

Dinamik aralık, sağladığınız sütunları veya ifadeleri temel alan Spark dinamik aralıklarını kullanır. Fiziksel bölüm sayısını ayarlayabilirsiniz.

Sabit aralık

Bölümlenmiş veri sütunlarınızdaki değerler için sabit bir aralık sağlayan bir ifade oluşturun. Bölüm dengesizliklerini önlemek için bu seçeneği kullanmadan önce verilerinizi iyi anlamanız gerekir. İfade için girdiğiniz değerler bölüm işlevinin bir parçası olarak kullanılır. Fiziksel bölüm sayısını ayarlayabilirsiniz.

Tuş

Verilerinizin kardinalitesini iyi kavradıysanız anahtar bölümleme iyi bir strateji olabilir. Anahtar bölümleme, sütununuzda her benzersiz değer için bölümler oluşturur. Sayı verilerdeki benzersiz değerlere dayandığından bölüm sayısını ayarlayamazsınız.

Bahşiş

Bölümleme düzenini el ile ayarlamak verileri yeniden düzenler ve Spark iyileştiricisinin avantajlarını dengeleyebilir. En iyi yöntem, gerekli olmadıkça bölümlemesi el ile ayarlamamaktır.

Günlük düzeyi

Veri akışı etkinliklerinizin her işlem hattı yürütmesinin tüm ayrıntılı telemetri günlüklerini tam olarak günlüğe kaydetmesini istemiyorsanız, isteğe bağlı olarak günlük düzeyinizi "Temel" veya "Yok" olarak ayarlayabilirsiniz. Veri akışlarınızı "Ayrıntılı" modda yürütürken (varsayılan), veri dönüştürme sırasında hizmetin her bölüm düzeyinde etkinliği tam olarak günlüğe kaydetmesini istiyorsunuz. Bu pahalı bir işlem olabileceğinden, yalnızca sorun giderme sırasında ayrıntılı bir şekilde etkinleştirilmesi genel veri akışınızı ve işlem hattı performansınızı iyileştirebilir. "Temel" modu yalnızca dönüştürme sürelerini günlüğe kaydederken "Yok" yalnızca sürelerin özetini sağlar.

Logging level

Performansla ilgili diğer Veri Akışı makalelere bakın: