Not defterlerinde gerçek zamanlı öneriler için Apache Spark danışmanı
Önemli
Microsoft Fabric önizleme aşamasındadır.
Apache Spark danışmanı, Apache Spark tarafından çalıştırılan komutları ve kodu analiz eder ve Not Defteri çalıştırmaları için gerçek zamanlı öneriler görüntüler. Apache Spark danışmanı, kullanıcıların yaygın hatalardan kaçınmasına yardımcı olan yerleşik desenlere sahiptir. Kod iyileştirme için öneriler sunar, hata analizi gerçekleştirir ve hataların kök nedenini bulur.
Yerleşik öneriler
Impulse ile tümleştirilmiş bir araç olan Spark danışmanı, Apache Spark uygulamalarındaki sorunları algılamaya ve çözmeye yönelik yerleşik desenler sağlar. Bu makalede, araçta yer alan bazı desenler açıklanmaktadır.
İhtiyacınız olan öneri türüne göre Son çalıştırmalar bölmesini açabilirsiniz.
'randomSplit' kullanılırken tutarsız sonuçlar döndürebilir
randomSplit yöntemiyle çalışırken tutarsız veya yanlış sonuçlar döndürülebilir. randomSplit() yöntemini kullanmadan önce Apache Spark (RDD) önbelleğe alma özelliğini kullanın.
randomSplit() yöntemi, veri çerçevenizde birden çok kez sample() gerçekleştirmeye eşdeğerdir. Her örnek, veri çerçevenizi bölümler içinde yeniden düzenler, bölümlere ayırır ve sıralar. Bölümler arasında veri dağıtımı ve sıralama düzeni hem randomSplit() hem de sample() için önemlidir. Veri yeniden fetişinde değişiklik olursa, bölmeler arasında yinelenenler veya eksik değerler olabilir. Aynı tohumu kullanan aynı örnek farklı sonuçlar verebilir.
Bu tutarsızlıklar her çalıştırmada gerçekleşmeyebilir, ancak bunları tamamen ortadan kaldırmak için veri çerçevenizi önbelleğe alın, bir sütunda yeniden bölümleyin veya groupBy gibi toplama işlevleri uygulayın.
Tablo/görünüm adı zaten kullanımda
Oluşturulan tabloyla aynı ada sahip bir görünüm zaten var veya oluşturulan görünümle aynı ada sahip bir tablo zaten var. Bu ad sorgularda veya uygulamalarda kullanıldığında, önce hangisinin oluşturulduğu fark etmez yalnızca görünüm döndürülür. Çakışmaları önlemek için tabloyu veya görünümü yeniden adlandırın.
İpucu tanınamıyor
spark.sql("SELECT /*+ unknownHint */ * FROM t1")
Belirtilen ilişki adları bulunamıyor
İpucunda belirtilen ilişki bulunamıyor. İlişkinin doğru yazıldığını ve ipucu kapsamında erişilebilir olduğunu doğrulayın.
spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Sorgudaki bir ipucu, başka bir ipucunun uygulanmasını engeller
Seçili sorgu, başka bir ipucunun uygulanmasını engelleyen bir ipucu içeriyor.
spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Yuvarlama hatası yayılmasını azaltmak için 'spark.advise.divisionExprConvertRule.enable' özelliğini etkinleştirin
Bu sorgu, Çift türüne sahip ifadeyi içerir. Bölme ifadelerini azaltmaya ve yuvarlama hatası yayılmasını azaltmaya yardımcı olabilecek 'spark.advise.divisionExprConvertRule.enable' yapılandırmasını etkinleştirmenizi öneririz.
"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"
Sorgu performansını geliştirmek için 'spark.advise.nonEqJoinConvertRule.enable' özelliğini etkinleştirin
Bu sorgu, sorgu içindeki "Veya" koşulu nedeniyle zaman alan birleştirme içeriyor. Bu sorguyu hızlandırmak için "Veya" koşulu tarafından tetiklenen birleştirmeyi SMJ veya BHJ'ye dönüştürmeye yardımcı olabilecek 'spark.advise.nonEqJoinConvertRule.enable' yapılandırmasını etkinleştirmenizi öneririz.
Kullanıcı deneyimi
Apache Spark danışmanı, not defteri hücre çıkışında bilgiler, uyarılar ve hatalar gibi önerileri gerçek zamanlı olarak görüntüler.
Bilgileri
Uyarı
Hataları