Zaman Dengesizliği İlkeleri (Azure Stream Analytics)

Stream Analytics'te tüm veri akışı olaylarının kendisiyle ilişkilendirilmiş bir zaman damgası vardır. Kullanıcılar şu iki farklı zaman arasından seçim yapmak için TIMESTAMP BY anahtar sözcüğünü kullanabilir:

  • Uygulama süresi, yani olayların üretildiği zamanı ifade edecektir (olayları oluşturan uygulama/cihaz tarafından işaretlenir). Uygulama zamanını kullanırken, genel bir zaman çizelgesi kullanarak tüm olayları işleyebilir veya alt akışları kullanarak her cihazı/bölümü kendi zaman çizelgesini kullanarak analiz edebilirsiniz;
  • Varış saati, olayın buluta ulaştığı zaman (örneğin, IoT Hub veya Olay Hub'ında varış saati).

Zaman damgası seçimine ek olarak, aşağıdaki sorunlar nedeniyle kullanıcıların Geç Varış ve Sipariş Dışı ilkesini tanımlaması gerekebilir:

  • Olayların yapımcıları saat dengesizliklerine sahip. Üreticiler farklı makinelerden geldiğinde bu yaygın bir durumdur, bu nedenle farklı saatlere sahiptirler.
  • Ağ gecikme süresi nedeniyle, aynı saatle gelen olaylar Olay Hub'ına veya IoT Hub kaynağından farklı bir sırayla gelebilir
  • Bölümler arasında saat dengesizliği. Bölümlenmemiş sorgular kullanılırken, tüm bölümlerdeki olaylar kullanıcının tercih ettiği zaman damgasıyla birleştirilir. Birleştirmenin en yavaş bölümü beklemesi gerektiğinden, bölümler arasındaki saat dengesizliği işlemenin gecikmesine neden olabilir.

Sıralı olmayan giriş akışları şunlardan biri olabilir:

  • Sıralandı (ve bu nedenle geciktirildi).
  • Kullanıcı tarafından belirtilen ilkeye göre sistem tarafından ayarlanır.

Stream Analytics, uygulama zamanına göre işlenirken geç ve sıra dışı olayları tolere eder.

Sıra Dışı İlkesi

Olayların zamana göre sıralanması akış analizinde çok önemlidir. Ancak, yukarıda belirtilen 3 sorun nedeniyle, genellikle sorgularımızın sonuçlarını etkileyebilecek şekilde sıra dışı olarak alınırlar. Sıra Dışı İlkesi, olayları tanımlanan tolerans penceresine ulaştığında zaman damgasına göre yeniden sıralamaya olanak tanır. Toleranstan sonra gelen olaylar, seçtiğiniz ayara bağlı olarak bırakılır veya ayarlanır.

  • Düzeltildi: Kabul edilebilir en son zamanda gelmiş gibi görünecek şekilde ayarlandı.
  • Bırakılan: Atıldı.

Bu ayar Azure portal ayarlanabilir (işin "Olay Sıralama" sekmesinde). Daha fazla bilgi için olay sırası ile ilgili dikkat edilmesi gerekenler sayfasına bakın.

0'dan büyük bir sıra dışı ilkesi ayarlarken, Stream Analytics olayları bu pencereye kadar arabelleğe alır ve zamansal dönüşümü uygulamadan önce kullanıcı tanımlı zaman damgasını kullanarak yeniden sıralar. Genellikle ilk olarak 3 saniyelik bir pencereyle başlamak iyi bir en iyi yöntemdir ve ardından zaman ayarlı olan olay sayısını azaltmak için değeri ayarlamaktır. Arabelleğe alma nedeniyle, yan etkinin çıkışın aynı süreyle geciktirilmesi olduğunu unutmayın. Sonuç olarak, sıra dışı olay sayısını azaltmak ve gecikme süresini düşük tutmak için değeri ayarlamanız gerekir.

Geç Varış Toleransı

Geç varış toleransı penceresi, yukarıda belirtilen çeşitli nedenlerle giriş kaynağına ulaşan olayların gecikmesini hesaba eklemek için kullanılır. Kısaca geç varış penceresi, olay oluşturma ile giriş kaynağında olayın alınması arasındaki maksimum gecikmedir. Geç varış toleransını temel alan ayarlama önce yapılır ve bir sonraki adımda sıra dışı yapılır. System.Timestamp() sütununda olaya son zaman damgası atanır.

Bu ayar yalnızca Uygulama zamanına göre işlenirken geçerlidir, aksi takdirde yoksayılır. Ayrıca Azure portal (işin "Olay Sıralama" sekmesinde) ayarlanabilir. Daha fazla bilgi için olay sırası ile ilgili dikkat edilmesi gerekenler sayfasına bakın.

Bir olay geç olduğunda, zaman damgası giriş kaynağındaki geçerli sıraya alma zamanına, geç varış toleransı penceresi çıkarıldığında (veya seçilen eyleme bağlı olarak bırakılır) ayarlanır. Aynı giriş akışından veya birden çok giriş akışından birden çok bölüm bir araya getirildiğinde, geç varış toleransı her bölümün yeni verileri beklediği maksimum süredir.

Geç Varış toleransı ve Seyrek olaylar

Geç Varış ilkesi, Stream Analytics'in giriş olayları olmadığında zamanı ileri taşımasına ve daha zaman uyumlu bir şekilde çıkış oluşturmasına olanak tanır. Giriş olayları seyrek olduğunda (veya bazı Olay Hub'ı bölümlerinde hiç alınmadığında) bu çok yararlıdır.

Örneğin, giriş olayları bir seçme* sorgusu için dakikada bir oluşturulur. Bu ilkeyi kullanmadan Stream Analytics, olaylar tüm Olay Hub'ı bölümlerine ulaşana kadar (zamanı ileri taşımak için) çıkış sonuçları oluşturamaz. Bu, Olay Hub'ı 16 bölüme sahipse ve her olayın farklı bir bölüme teslim edilirse 16 dakika anlamına gelebilir. Varsayılan 5 saniyelik ilkeyle, saat ilk olaydan 5 saniye sonra ileri taşınır, bu nedenle çıkış olayı ilk olaydan 5 saniye sonra oluşturulur.

Ayrıca Bkz.

Zaman Yönetimi (Azure Stream Analytics)
System.Timestamp() (Stream Analytics)
TIMESTAMP BY (Azure Stream Analytics)
Olay Sırası Ile İlgili Dikkat Edilmesi Gerekenler