Aracılığıyla paylaş


Azure Stream Analytics çıkışlarıyla ilgili sorunları giderme

Bu makalede, Azure Stream Analytics çıkış bağlantılarıyla ilgili yaygın sorunlar ve çıkış sorunlarını giderme adımları açıklanmaktadır. Birçok sorun giderme adımı, Stream Analytics işiniz için kaynak ve diğer tanılama günlüklerinin etkinleştirilmesini gerektirir. Kaynak günlükleriniz etkinleştirilmediyse bkz . Kaynak günlüklerini kullanarak Azure Stream Analytics sorunlarını giderme.

İş çıkış üretmiyor

  1. Her çıkış için Test Bağlan ion düğmesini kullanarak çıkışlara bağlantıyı doğrulayın.

  2. İzleyici sekmesinde Azure portalıyla Stream Analytics işini izleme bölümüne bakın. Değerler toplandığından ölçümler birkaç dakika gecikir.

    • Giriş Olayları değeri sıfırdan büyükse, iş giriş verilerini okuyabilir. Giriş Olayları değeri sıfırdan büyük değilse, işin girişiyle ilgili bir sorun vardır. Daha fazla bilgi için bkz . Giriş bağlantılarında sorun giderme. İşinizde başvuru veri girişi varsa Giriş Olayları ölçümüne bakarken mantıksal ada göre bölme uygulayın. Yalnızca başvuru verilerinizden hiçbir giriş olayı yoksa, bu büyük olasılıkla bu giriş kaynağının doğru başvuru veri kümesini getirmek için düzgün yapılandırılmadığı anlamına gelir.
    • Veri Dönüştürme Hataları değeri sıfırdan büyükse ve tırmanıyorsa veri dönüştürme hataları hakkında ayrıntılı bilgi için bkz. Azure Stream Analytics veri hataları.
    • Çalışma Zamanı Hataları değeri sıfırdan büyükse, işiniz verileri alır ancak sorgu işlenirken hatalar oluşturur. Hataları bulmak için denetim günlüklerine gidin ve Başarısız durumunu filtreleyin.
    • Giriş Olayları değeri sıfırdan büyükse ve Çıkış Olayları değeri sıfıra eşitse, aşağıdaki deyimlerden biri doğrudur:
      • Sorgu işleme sıfır çıkış olayıyla sonuçlandı.
      • Olaylar veya alanlar hatalı biçimlendirilmiş olabilir ve sorgu işlemeden sonra sıfır çıkış elde edilir.
      • İş, bağlantı veya kimlik doğrulaması nedeniyle çıkış havuzuna veri gönderemedi.

    İşlem günlüğü iletileri, sorgu mantığının tüm olayları filtrelediği durumlar dışında neler olduğu da dahil olmak üzere ek ayrıntıları açıklar. Birden çok olayın işlenmesi hata oluşturursa, hatalar her 10 dakikada bir toplanır.

İlk çıkış gecikiyor

Stream Analytics işi başlatıldığında giriş olayları okunur. Ancak, belirli durumlarda çıkışta bir gecikme olabilir.

Zamansal sorgu öğelerindeki büyük zaman değerleri çıkış gecikmesine katkıda bulunabilir. Büyük zaman pencerelerinde doğru çıkışı üretmek için akış işi, zaman penceresini doldurmak için mümkün olan en son zamandan verileri okur. Veriler yedi güne kadar geçmiş olabilir. Bekleyen giriş olayları okunana kadar çıkış üretilmemiş. Sistem akış işlerini yükselttiğinde bu sorun ortaya çıkar. Yükseltme gerçekleştiğinde iş yeniden başlatılır. Bu tür yükseltmeler genellikle birkaç ayda bir gerçekleşir.

Stream Analytics sorgunuzu tasarlarken ihtiyatlı olun. İşin sorgu söz dizimindeki zamana bağlı öğeler için büyük bir zaman penceresi kullanırsanız, iş başladığında veya yeniden başlatıldığında ilk çıktıda gecikmeye neden olabilir. Yedi güne kadar birkaç saatten uzun bir süre, büyük bir zaman aralığı olarak kabul edilir.

Bu tür ilk çıkış gecikmesi için bir azaltma, verileri bölümleme gibi sorgu paralelleştirme tekniklerini kullanmaktır. İsterseniz, iş yetişene kadar aktarım hızını artırmak için daha fazla Akış Birimi ekleyebilirsiniz. Daha fazla bilgi için bkz . Stream Analytics işleri oluştururken dikkat edilmesi gerekenler.

Bu faktörler ilk çıkışın güncelliğini etkiler:

  • Yuvarlanma, atlama ve kayan pencerelerin GROUP BY yan tümcesi gibi pencerelenmiş toplamaların kullanımı:

    • Atlayan veya atlayan pencere toplamları için sonuçlar, pencere zaman çerçevesinin sonunda oluşturur.
    • Kayan pencere için, bir olay kayan pencereye girdiğinde veya bu pencereden çıktığında sonuçlar ortaya çıkar.
    • Bir saatten fazla gibi büyük bir pencere boyutu kullanmayı planlıyorsanız, en iyisi atlama veya kayan pencere seçmektir. Bu pencere türleri, çıkışı daha sık görmenize olanak verir.
  • DATEDIFF ile JOIN gibi zamansal birleşimlerin kullanımı:

    • Eşleştirilen olayların her iki tarafı da ulaşır ulaşmaz eşleşmeler oluşturulur.
    • LEFT OUTER JOIN gibi eşleşmesi olmayan veriler, sol taraftaki her olay için DATEDIFF penceresinin sonunda oluşturulur.
  • LIMIT DURATION ile ISFIRST, LAST ve LAG gibi zamansal analiz işlevlerinin kullanımı:

    • Analiz işlevleri için çıkış her olay için oluşturulur. Gecikme yok.

Çıkış geride kalıyor

Bir işin normal çalışma sırasında çıktının gecikme süresi daha uzun ve daha uzun olabilir. Çıkış bu şekilde geride kalırsa, aşağıdaki faktörleri inceleyerek kök nedenleri saptayabilirsiniz:

  • Aşağı akış havuzu kısıtlanır mı
  • Yukarı akış kaynağının kısıtlanıp kısıtlanıp kısıtlanmadığı
  • Sorgudaki işleme mantığının yoğun işlem gücü kullanıp kullanmadığı

Çıktı ayrıntılarını görmek için Azure portalında akış işini seçin ve ardından İş diyagramı'nı seçin. Her giriş için bölüm başına bir kapsam olayı ölçümü vardır. Ölçüm artmaya devam ederse sistem kaynaklarının kısıtlandığının göstergesidir. Artış büyük olasılıkla çıkış havuzu azaltma veya yüksek CPU kullanımından kaynaklanır. Daha fazla bilgi için bkz . İş diyagramını kullanarak veri temelli hata ayıklama.

Azure SQL Veritabanı çıkışıyla anahtar ihlali uyarısı

Bir Azure SQL veritabanını Stream Analytics işine çıkış olarak yapılandırdığınızda, kayıtları hedef tabloya toplu olarak ekler. Genel olarak, Azure Stream Analytics çıkış havuzuna en az bir kez teslim garantisi sağlar. Bir SQL tablosunda benzersiz bir kısıtlama tanımlandığında sql çıkışına tam olarak bir kez teslim gerçekleştirmeye devam edebilirsiniz.

SQL tablosunda benzersiz anahtar kısıtlamaları ayarladığınızda, Azure Stream Analytics yinelenen kayıtları kaldırır. Verileri toplu işlemlere böler ve tek bir yinelenen kayıt bulunana kadar toplu işlemleri yinelemeli olarak ekler. Bölme ve ekleme işlemi yinelenenleri birer birer yoksayar. Çok sayıda yinelenen satırı olan bir akış işi için işlem verimsizdir ve zaman alır. Önceki saat için Etkinlik günlüğünüzde birden çok anahtar ihlali uyarı iletisi görürseniz, SQL çıkışınız işin tamamını yavaşlatıyor olabilir.

Bu sorunu çözmek için IGNORE_DUP_KEY seçeneğini etkinleştirerek anahtar ihlaline neden olan dizini yapılandırın. Bu seçenek, SQL'in toplu eklemeler sırasında yinelenen değerleri yoksaymasını sağlar. Azure SQL Veritabanı yalnızca hata yerine bir uyarı iletisi oluşturur. Sonuç olarak, Azure Stream Analytics artık birincil anahtar ihlali hataları üretmez.

Birkaç dizin türü için IGNORE_DUP_KEY yapılandırırken aşağıdaki gözlemlere dikkat edin:

  • IGNORE_DUP_KEY birincil anahtarda veya ALTER INDEX kullanan benzersiz bir kısıtlamada ayarlayamazsınız. Dizini bırakmanız ve yeniden oluşturmanız gerekir.
  • benzersiz bir dizin için ALTER INDEX kullanarak IGNORE_DUP_KEY ayarlayabilirsiniz. Bu örnek BİrİnCİl ANAHTAR/BENZERSİz kısıtlamasından farklıdır ve CREATE INDEX veya INDEX tanımı kullanılarak oluşturulur.
  • IGNORE_DUP_KEY seçeneği sütun deposu dizinlerine uygulanmaz, çünkü bunlar üzerinde benzersizliği zorunlu kılamazsınız.

SQL çıkış yeniden deneme mantığı

SQL çıkışına sahip bir Stream Analytics işi ilk olay toplu işlemini aldığında aşağıdaki adımlar gerçekleşir:

  1. İş, SQL'e bağlanmayı dener.
  2. İş, hedef tablonun şemasını getirir.
  3. İş, sütun adlarını ve türlerini hedef tablo şemasına göre doğrular.
  4. İş, toplu işteki çıkış kayıtlarından bellek içi bir veri tablosu hazırlar.
  5. İş, BulkCopy API'sini kullanarak veri tablosunu SQL'e yazar.

Bu adımlar sırasında SQL çıkışı aşağıdaki hata türleriyle karşılaşabilir:

  • Üstel geri alma yeniden deneme stratejisi kullanılarak yeniden denenen geçici hatalar . En düşük yeniden deneme aralığı tek tek hata koduna bağlıdır, ancak aralıklar genellikle 60 saniyeden kısadır. Üst sınır en fazla beş dakika olabilir.

    Oturum açma hataları ve güvenlik duvarı sorunları , önceki denemeden en az 5 dakika sonra yeniden denenip başarılı olana kadar yeniden deneniyor.

  • Atama hataları ve şema kısıtlaması ihlalleri gibi veri hataları çıkış hata ilkesiyle işlenir. Bu hatalar, hataya neden olan tek tek kayıt atlayarak veya yeniden deneyene kadar ikili bölünmüş toplu işlemleri yeniden denenerek işlenir. Birincil Benzersiz anahtar kısıtlaması ihlali her zaman işlenir.

  • SQL hizmeti sorunları veya iç kod hataları olduğunda geçici olmayan hatalar oluşabilir. Örneğin, (Kod 1132) Elastik Havuz gibi hatalar depolama sınırına ulaştığında yeniden denemeler hatayı çözmez. Bu senaryolarda Stream Analytics işi düşüş yaşar.

  • BulkCopy 5. Adımda zaman aşımları gerçekleşebilir BulkCopy . BulkCopy bazen işlem zaman aşımlarıyla karşılaşabilir. Varsayılan yapılandırılan en düşük zaman aşımı beş dakikadır ve art arda basıldığında ikiye katlanır. Zaman aşımı 15 dakikanın üzerine çıktıktan sonra, toplu iş başına 100 olay kalana BulkCopy kadar en fazla toplu iş boyutu ipucu yarıya indirilir.

    Önemli

    Ağa eklenmemiş ASA işleri için lütfen ASA'dan gelen bağlantıların kaynak IP adresine hiçbir şekilde güvenmeyin. Bunlar, zaman zaman gerçekleşen hizmet altyapısı işlemlerine bağlı olarak genel veya özel IP'ler olabilir.

Azure Stream Analytics'te sütun adları küçük harftir (1,0)

Özgün uyumluluk düzeyini (1.0) kullanırken Azure Stream Analytics sütun adlarını küçük harfle değiştirir. Bu davranış daha sonraki uyumluluk düzeylerinde düzeltildi. Büyük/küçük harf durumunu korumak için uyumluluk düzeyi 1.1 veya sonraki bir sürüme geçin. Daha fazla bilgi için bkz . Stream Analytics işleri için uyumluluk düzeyi.

Yardım alın

Daha fazla yardım için Azure Stream Analytics için Microsoft Soru-Cevap soru sayfamızı deneyin.

Sonraki adımlar