Veri akışlarını eşleme performansı ve ayarlama Kılavuzu

Uygulama hedefi: Azure SYNAPSE Analytics 'i Azure Data Factory

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 kıyaslamalarınızı karşılamak üzere veri akışlarınızı ayarlama ve iyileştirme için çeşitli yollar vurgulanmaktadır.

Veri akışları ile verileri dönüştüren bazı örnek zamanlamaların gösterildiği 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ındaki etkinlik olarak uçtan uca çalıştırın. Veri akışları, veri akışını Yürüt etkinliğininkullanıldığı bir işlem hattında çalışır. Veri akışı etkinliği, dönüştürme mantığının ayrıntılı bir 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, bir işlem hattının çıkış çıkışını Çalıştır simgesine tıklayın. Daha fazla bilgi için bkz. eşleme veri akışlarını izleme.

veri Flow izleyicisi

Veri akışı performansını izlerken, göz atmak için dört olası performans sorunu vardır:

  • Küme başlangıç zamanı
  • Bir kaynaktan okuma
  • Dönüştürme saati
  • Bir havuza yazma

Veri Akışını İzleme

Küme başlangıç zamanı, bir Apache Spark kümesi çalıştırmak 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 bir modelde çalışır. Bu başlangıç zamanı genellikle 3-5 dakika sürer. Sıralı işler için, bu değer bir yaşam süresi değeri etkinleştirilerek azaltılabilir. Daha fazla bilgi için Integration Runtime performans' daki yaşam süresi bölümüne bakın.

Veri akışları, mümkün olduğunca hızlı bir şekilde gerçekleştirmek için iş mantığınızı yeniden sipariş eden ve çalıştıran bir Spark İyileştiriciyi kullanır. Veri akışınızın yazdığı her bir havuz için, izleme çıktısı her bir dönüştürme aşamasının süresini ve verilerin havuza yazılması için geçen süreyi listeler. En büyük olan süre büyük olasılıkla veri akışınız için performans sorununa neden olur. En büyük değeri alan dönüştürme aşaması bir kaynak içeriyorsa, okuma zamandan daha iyi bir şekilde bakmak isteyebilirsiniz. Bir dönüşüm uzun sürüyorsa, tümleştirme çalışma zamanının boyutunu yeniden bölümlendirmeniz veya artırmanız gerekebilir. Havuz işleme süresi büyükse, veritabanınızı ölçeklendirmeniz veya tek bir dosyaya çıktıları doğrulamanız gerekebilir.

Veri akışınız için performans sorunlarını tanımladıktan sonra, performansı artırmak için aşağıdaki iyileştirmeler 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 etmenize olanak tanır. Bu sayede, verilerin önizlemesine ve veri akışlarınızı bir kümenin ısınma süresi olmadan yürütmeniz gerekir. Daha fazla bilgi için bkz. hata ayıklama modu.

İyileştirme sekmesi

Optimizasyon sekmesi, Spark kümesinin bölümleme şemasını 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ümlemek isteyip istemediğinizi belirtir. Bölümlemenin ayarlanması, verilerin işlem düğümleri genelinde dağıtılması üzerinde denetim sağlar ve genel veri akışı performansından hem olumlu hem de olumsuz etkileri olabilir.

Ekran görüntüsü, Bölüm seçeneği, bölüm türü ve bölüm sayısı dahil en Iyileştirme sekmesini gösterir.

Varsayılan olarak, hizmetin geçerli çıkış bölümlemesini tutmaya yönlendiren geçerli bölümleme ' ı kullanın. Yeniden bölümleme verileri zaman alıyorsa, Çoğu senaryoda geçerli bölümleme kullanılması önerilir. verilerinizi yeniden bölümlemek isteyebileceğiniz senaryolar, verilerinizi önemli ölçüde eğmeden veya bir SQL DB 'de kaynak bölümlendirme kullanırken yer alan toplamalar ve birleşimlerden sonra dahil eder.

Herhangi bir dönüşümdeki Bölümlendirmeyi değiştirmek için, optimizasyon sekmesini seçin ve bölümlendirme radyo düğmesini seçin. Bölümlemeye yönelik bir dizi seçenek sunulur. Bölümlendirme en iyi yöntemi, veri birimleriniz, aday anahtarlarınız, null değerler ve kardinalite temelinde farklılık gösterir.

Önemli

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

Aşağıdaki bölümlendirme seçenekleri her dönüşümde kullanılabilir:

Hepsini bir kez deneme

Hepsini bir kez deneme, verileri bölümler arasında eşit olarak dağıtır. Katı ve akıllı bölümlendirme stratejisi uygulamak için iyi bir ana aday olmadığında hepsini bir kez deneme kullanın. Fiziksel bölüm sayısını ayarlayabilirsiniz.

Karma

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

Dinamik Aralık

Dinamik Aralık, sağladığınız sütunlara veya ifadelere göre 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ızın içindeki değerler için sabit bir Aralık sağlayan bir ifade oluşturun. Bölüm eğriliğini önlemek için, bu seçeneği kullanmadan önce verilerinizin iyi şekilde anlaşılmasını sağlayabilirsiniz. İ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.

Anahtar

Verilerinizin önem düzeyini iyi anlamak istiyorsanız anahtar bölümleme iyi bir strateji olabilir. Anahtar bölümleme, sütuninizdeki her benzersiz değer için bölümler oluşturur. Bu sayı, verilerdeki benzersiz değerleri temel aldığı için bölüm sayısını ayarlayamazsınız.

İpucu

Veri reshuffles bölümlendirme şemasını el ile ayarlama ve Spark iyileştiricinin avantajlarını fark edebilir. En iyi uygulama, gerekmedikçe Bölümlendirmeyi el ile ayarlamanıza gerek kalmaz.

Günlük kaydı 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 yazmasına gerek yoksa, isteğe bağlı olarak günlük düzeyini "temel" veya "hiçbiri" olarak ayarlayabilirsiniz. Veri akışlarınızı "ayrıntılı" modda yürütürken (varsayılan), veri dönüşümünüzün her bir bölüm düzeyinde etkinliği tam olarak günlüğe kaydetmek için bir hizmet isteniyor. Bu, pahalı bir işlem olabilir, bu nedenle yalnızca sorun giderme sırasında ayrıntılandırma, genel veri akışınızı ve işlem hattı performansınızı iyileştirecek şekilde etkinleştiriliyor. "Temel" modu yalnızca bir süre Özeti sağlamaları durumunda yalnızca dönüştürme sürelerini günlüğe kaydeder.

Günlük kaydı düzeyi

Sonraki adımlar

performansla ilgili diğer veri Flow makalelerine bakın: