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.
Autotune, iş yükü yürütme süresini kısaltmak ve performansı geliştirmek için Apache Spark yapılandırmalarını otomatik olarak ayarlar. Genellikle yinelenen deneme ve hata gerektiren el ile ayarlamayı önlemenize yardımcı olur. Autotune, her iş yükü için geçerli ayarları yinelemeli olarak bulmak ve uygulamak için iş yüklerinizdeki geçmiş yürütme verilerini kullanır.
Not
Microsoft Fabric'da otomatik sorgu ayarlama şu anda önizleme aşamasındadır. Tüm üretim bölgelerinde kullanılabilir, ancak varsayılan olarak devre dışıdır. Bir ortamda Spark yapılandırmasında veya not defterinde veya Spark İş Tanımı kodunda tek bir oturum için etkinleştirin.
Yapılandırma varsayılanları ve gereksinimleri
- Varsayılan davranış: Autotune varsayılan olarak kapalıdır .
- Kapalıyken kurulum gerekmez: Autotune'u etkinleştirmezseniz Spark, standart yapılandırma davranışını kullanır.
-
Autotune kullanmak için gerekli kurulum: Aşağıdakilerden birini ayarlayın
spark.ms.autotune.enabled=true:- Ortam düzeyinde, bu ortamı kullanan tüm not defterleri ve işler bu ayarı devralır. Bkz . Autotune'ı etkinleştirme.
- Yalnızca bir not defterinde veya Spark İş Tanımı oturumunda. Bakınız Tek bir oturum için otomatik ayarlamayı etkinleştirme.
Sorgu optimizasyonu
Autotune, her sorgu için şu üç Apache Spark ayarını ayarlar:
-
spark.sql.shuffle.partitions: Birleştirmeler veya toplamalar sırasında veri karıştırma için bölüm sayısını ayarlar. Varsayılan200değeridir. -
spark.sql.autoBroadcastJoinThreshold: Birleştirme sırasında çalışan düğümlerine yayın yapmak için bayt cinsinden en büyük tablo boyutunu ayarlar. Varsayılan10 MBdeğeridir. -
spark.sql.files.maxPartitionBytes: Dosyaları okurken bir bölüme paketlenmesi için en fazla bayt sayısını ayarlar. Parquet, JSON ve ORC dosya kaynakları için geçerlidir. Varsayılan128 MBdeğeridir.
Autotune sorgu ayarlaması her sorguyu inceler ve bu sorgu için ayrı bir makine öğrenmesi modeli oluşturur. En iyi şekilde çalıştığı durumlar:
- Yinelenen sorgular
- Uzun süre çalışan sorgular (15 saniyeden fazla)
- Apache Spark SQL API sorguları (RDD API'si değil)
Autotune'u not defterleri, Spark İş Tanımları ve işlem hatları ile kullanabilirsiniz. Avantaj, sorgu karmaşıklığı ve veri şekline göre değişir. Testte en büyük kazanç okumalar, birleştirmeler, toplamalar ve sıralamalar gibi keşif veri analizi desenlerinde görünür.
Autotune nasıl çalışır?
Autotune yinelemeli bir iyileştirme döngüsü kullanır:
- Varsayılan Spark yapılandırma değerlerinden başlayın.
- Temel (centroid) çevresinde aday yapılandırmaları oluşturun.
- Önceki çalıştırmalarda eğitilmiş bir model kullanarak en iyi adayı tahmin edin.
- Adayı uygulayın ve sorguyu yürütün.
- Yürütme sonuçlarını modele geri aktarın.
Zaman içinde taban çizgisi daha iyi ayarlara doğru kayarak regresyon riskini azaltır. Toplanan tüm veri noktalarının kullanılması anomalilerin etkisini azaltmaya da yardımcı olur.
Otomatiktune'un etkinleştirilmesi
Autotune tüm üretim bölgelerinde kullanılabilir, ancak varsayılan olarak devre dışıdır. Ortam düzeyinde etkinleştirmek için Spark özelliğini spark.ms.autotune.enabled=true yeni veya mevcut bir ortamda ayarlayın. Bu ortamı kullanan tüm defterler ve görevler ayarları devralır.
Autotune yerleşik regresyon algılamayı içerir. Örneğin, bir sorgu olağan dışı derecede büyük miktarda veriyi işlerse, autotune bu çalıştırma için ayarlamayı kendi kendine atlayabilir. Birçok senaryoda, autotune'un ideal ayarlara yakınsaması için yaklaşık 20 ila 25 yineleme gerekir.
Not
Autotune, Çalışma Zamanı 1.2 ile uyumludur. 1.2'den sonraki çalışma zamanı sürümlerinde etkinleştiremezsiniz. Yüksek eşzamanlılık modu veya özel uç nokta etkinleştirildiğinde çalışmaz. Autotune, herhangi bir otomatik ölçeklendirme yapılandırmasında otomatik ölçeklendirme ile çalışır.
Ayrıca, not defterinizdeki Spark özelliğini veya Spark İş Tanımı'nı ayarlayarak tek bir oturum için autotune'u etkinleştirebilirsiniz.
Tek bir oturum için otomatiktune'yi etkinleştirme
%%sql
SET spark.ms.autotune.enabled=TRUE
Tek bir oturum için otomatiktune özelliğini devre dışı bırakma
Not defterinde veya Spark İş Tanımı'nda otomatiktune özelliğini devre dışı bırakmak için, aşağıdaki komutlardan birini kodun ilk hücresi veya ilk satırı olarak çalıştırın.
%%sql
SET spark.ms.autotune.enabled=FALSE
Örnek olay incelemesi
Bir Apache Spark sorgusu çalıştırdığınızda, autotune bu sorgu şekli için bir model oluşturur ve zaman içinde en iyi ayarları öğrenir. Örneğin, şu filtre sorgusuyla başlayın:
%%pyspark
df.filter(df.country == "country-A")
Autotune bu çalıştırmadan öğreniyor. Daha sonra yalnızca filtre değerini değiştirirseniz, sorgu şekli benzer kalır:
%%pyspark
df.filter(df.country == "country-B")
Autotune, önceki öğrenmeleri bu benzer sorgu düzeni için yeniden kullanabilir ve bu da el ile retuning olmadan performansın korunmasına yardımcı olur.
Günlükler
Autotune, her sorgu için desteklenen üç Spark yapılandırması için önerilen değerleri hesaplar. Önerileri incelemek için sürücü günlüklerinde [Autotune] ile başlayan girişleri denetleyin.
Yaygın günlük durumu örnekleri şunlardır:
| Çalıştırma Durumu | Açıklama |
|---|---|
AUTOTUNE_DISABLED |
Atlanır. Otomatiktune devre dışı bırakıldığından telemetri toplama ve iyileştirme uygulanmaz. |
QUERY_TUNING_DISABLED |
Atlanır. Sorgu ayarlama devre dışı bırakıldı. |
QUERY_PATTERN_NOT_MATCH |
Atlanır. Sorgu düzeni desteklenen salt okunur sorgu türleriyle eşleşmiyor. |
QUERY_DURATION_TOO_SHORT |
Atlanır. Sorgu 15 saniyeden kısa süreyle çalıştırılır ve bu, etkin ayarlama için çok kısadır. |
QUERY_TUNING_SUCCEED |
Başarı. Sorgu ayarlama tamamlandı ve iyileştirilmiş Spark ayarları uygulandı. |
Saydamlık notu
Sorumlu Yapay Zeka Standardına uygun olarak, bu bölümde autotune'un nasıl kullanıldığı ve doğrulanması açıklanmaktadır.
Autotune'un amacı
Autotune, veri uzmanları için Apache Spark iş yükü verimliliğini artırmak üzere tasarlanmıştır. O:
- Yürütme süresini kısaltmak için Apache Spark yapılandırmalarını otomatik olarak ayarlır.
- El ile ayarlama çabalarını azaltır.
- Yapılandırma seçimlerini yinelemeli olarak iyileştirmek için geçmiş iş yükü verilerini kullanır.
Autotune doğrulaması
Autotune, etkinliğin ve güvenliğin sağlanmasına yardımcı olmak için kapsamlı doğrulamadan geçer:
- Ayarlama algoritmasının verimliliğini doğrulamak için çeşitli Spark iş yükleri arasında sıkı testler kullanır.
- Performans avantajlarını göstermek için standart Spark iyileştirme yöntemleriyle karşılaştırmalar.
- Pratik değeri göstermek için gerçek dünya örnek olay incelemelerini içerir.
- Kullanıcı verilerini korumak için katı güvenlik ve gizlilik standartlarını izler.
Kullanıcı verileri yalnızca iş yükünüzün performansını geliştirmek ve hassas bilgilerin kötüye kullanılmasını veya açığa çıkmasını önlemek için sağlam korumalar sağlamak için kullanılır.
İlgili içerik
- Microsoft Fabric için Apache Spark'ta Eşzamanlılık sınırları ve kuyruğa alma
- Microsoft Fabric'de Apache Spark işleme