Share via


Öğretici: Ölçüm verilerini eklemek için geçerli bir sorgu yazma

Önemli

20 Eylül 2023 tarihinden itibaren yeni Ölçüm Danışmanı kaynakları oluşturamayacaksınız. Ölçüm Danışmanı hizmeti 1 Ekim 2026'da kullanımdan kaldırılıyor.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Geçerli bir veri ekleme sorgusu yazma
  • Yaygın hatalar ve bunların nasıl önlenmeleri gerektiği

Ön koşullar

Ölçüm Danışmanı kaynağı oluşturma

Ölçüm Danışmanı'nın özelliklerini keşfetmek için, Ölçüm Danışmanı örneğinizi dağıtmak için Azure portalında bir Ölçüm Danışmanı kaynağı oluşturmanız gerekebilir.

Veri şeması gereksinimleri

Azure AI Ölçüm Danışmanı, zaman serisi anomali algılama, tanılama ve analiz için bir hizmettir. Yapay zeka destekli bir hizmet olarak, kullanılan modeli eğitmek için verilerinizi kullanır. Hizmet, aşağıdaki sütunlarla toplanan veri tablolarını kabul eder:

  • Ölçü (gerekli): Ölçü, temel veya üniteye özgü bir terimdir ve ölçümün ölçülebilir değeridir. Bu, sayısal değerler içeren bir veya daha fazla sütun anlamına gelir.
  • Zaman damgası (isteğe bağlı): veya türüne DateTimeStringsahip sıfır veya bir sütun. Bu sütun ayarlı olmadığında, zaman damgası her alım döneminin başlangıç saati olarak ayarlanır. Zaman damgasını şu şekilde biçimlendirin: yyyy-MM-ddTHH:mm:ssZ.
  • Boyut (isteğe bağlı): Boyut bir veya daha fazla kategorik değerdir. Bu değerlerin birleşimi belirli bir tek değişkenli zaman serisini (örneğin, ülke/bölge, dil ve kiracı) tanımlar. Boyut sütunları herhangi bir veri türünde olabilir. Aşırı sayıda boyutun işlenmesini önlemek için büyük hacimli sütun ve değerlerle çalışırken dikkatli olun.

Azure Data Lake Depolama veya Azure Blob Depolama gibi veri kaynaklarını kullanıyorsanız, verilerinizi beklenen ölçüm şemanızla uyumlu olacak şekilde toplayabilirsiniz. Bunun nedeni, bu veri kaynaklarının ölçüm girişi olarak bir dosya kullanmasıdır.

Azure SQL veya Azure Veri Gezgini gibi veri kaynaklarını kullanıyorsanız, verileri beklenen şemanızda toplamak için toplama işlevlerini kullanabilirsiniz. Bunun nedeni, bu veri kaynaklarının kaynaklardan ölçüm verilerini almak için sorgu çalıştırmayı desteklemesidir.

Ölçüm Danışmanı'nda veri alımı nasıl çalışır?

Ölçümlerinizi Ölçüm Danışmanı'na eklediğinizde genellikle iki yol vardır:

  • Ölçümlerinizi beklenen şemada önceden toplayın ve verileri belirli dosyalara depolayın. Ekleme sırasında yol şablonunu doldurun; Ölçüm Danışmanı sürekli olarak yoldan yeni dosyalar alır ve ölçümler üzerinde algılama gerçekleştirir. Bu, Azure Data Lake ve Azure Blob Depolama gibi bir veri kaynağı için yaygın bir uygulamadır.
  • Azure SQL Server, Azure Veri Gezgini veya sorgu betiği kullanmayı destekleyen diğer kaynaklardan veri almak istiyorsanız, sorgunuzu düzgün bir şekilde oluşturduğunuzdan emin olmanız gerekir. Bu makalede ölçüm verilerini beklendiği gibi eklemek için geçerli bir sorgu yazmayı öğreneceksiniz.

Aralık nedir?

Ölçümlerin iş gereksinimlerine göre belirli bir ayrıntı düzeyinde izlenmesi gerekir. Örneğin, iş Temel Performans Göstergeleri (KPI' ler) günlük ayrıntı düzeyinde izlenir. Ancak hizmet performansı ölçümleri genellikle dakika/saatlik ayrıntı düzeyinde izlenir. Dolayısıyla kaynaklardan ölçüm verilerini toplama sıklığı farklıdır.

Ölçüm Danışmanı her zaman aralığında ölçüm verilerini sürekli olarak alır, aralık ölçümlerin ayrıntı düzeyine eşittir. Ölçüm Danışmanı her seferinde, yazdığınız sorguyu çalıştırır ve bu belirli bir aralıkta veri alır. Bu veri alımı mekanizmasına bağlı olarak, sorgu betiği veritabanında var olan tüm ölçüm verilerini döndürmemeli, ancak sonucu tek bir aralıkla sınırlamalıdır.

Illustration that describes what is an interval

Geçerli bir sorgu nasıl yazılır?

Use @IntervalStart and @IntervalEnd to limit query results

Bunu başarmaya yardımcı olmak için sorguda kullanmak üzere iki parametre sağlanmıştır: @IntervalStart ve @IntervalEnd.

Sorgu her çalıştığında @IntervalStart ve @IntervalEnd otomatik olarak en son aralık zaman damgasına güncelleştirildiğinde ve ilgili ölçüm verilerini aldığında. @IntervalEnd her zaman + 1 taneciklik olarak @IntervalStart atanır.

Azure SQL Server ile bu iki parametrenin düzgün kullanımına bir örnek aşağıda verilmiştir:

SELECT [timestampColumnName] AS timestamp, [dimensionColumnName], [metricColumnName] FROM [sampleTable] WHERE [timestampColumnName] >= @IntervalStart and [timestampColumnName] < @IntervalEnd;

Sorgu betiğini bu şekilde yazarak ölçümlerin zaman damgaları her sorgu sonucu için aynı aralıkta olmalıdır. Ölçüm Danışmanı, zaman damgalarını ölçümlerin ayrıntı düzeyiyle otomatik olarak hizalar.

Ölçümleri toplamak için toplama işlevlerini kullanma

Müşterilerin veri kaynaklarında çok sayıda sütun olması yaygın bir durum olsa da, bunların tümünün izlenmesi veya boyut olarak dahil edilmesi mantıklı değildir. Müşteriler ölçümleri toplamak ve yalnızca anlamlı sütunları boyut olarak eklemek için toplama işlevlerini kullanabilir.

Aşağıda, müşterinin veri kaynağında 10'dan fazla sütun bulunduğu, ancak bunların yalnızca birkaçının anlamlı olduğu ve izlenmesi için bir ölçüme dahil edilmesi ve toplanması gerektiği bir örnek verilmiştir.

TS Market Cihaz işletim sistemi Kategori ... Ölçü1 Ölçü2 Ölçü3
2020-09-18T12:23:22Z New Yok iOS Güneş gözlüğü ... 43242 322 54546
2020-09-18T12:27:34Z Pekin Android Çanta ... 3333 126 67677
...

Müşteri saatlik ayrıntı düzeyinde 'Ölçü1'i izlemek ve boyut olarak 'Pazar' ve 'Kategori'yi seçmek istiyorsa, bunu başarmak için toplama işlevlerinin düzgün bir şekilde nasıl kullanılacağına ilişkin örnekler aşağıda verilmiştir:

  • SQL örneği:

        SELECT dateadd(hour, datediff(hour, 0, TS),0) as NewTS
        ,Market
        ,Category
        ,sum(Measure1) as M1
        FROM [dbo].[SampleTable] where TS >= @IntervalStart and TS < @IntervalEnd
        group by Market, Category, dateadd(hour, datediff(hour, 0, TS),0)
    
  • Azure Veri Gezgini örneği:

        SampleTable
        | where TS >= @IntervalStart and TS < @IntervalEnd
        | summarize M1 = sum(Measure1) by Market, Category, NewTS = startofhour(TS)
    

Dekont

Yukarıdaki örnekte müşteri ölçümleri saatlik ayrıntı düzeyinde izlemek istiyor ancak ham zaman damgası (TS) uyumlu değil. Toplama deyiminde, saatte hizalamak ve 'NewTS' adlı yeni bir zaman damgası sütunu oluşturmak için zaman damgası üzerindeki bir işlem gereklidir .

Ekleme sırasında sık karşılaşılan hatalar

  • Hata: Sorgu sonuçlarında birden çok zaman damgası değeri bulundu

    Sorgu sonuçlarını tek bir aralıkta sınırlamadıysanız bu yaygın bir hatadır. Örneğin, bir ölçümü günlük ayrıntı düzeyinde izliyorsanız, sorgunuz aşağıdaki gibi sonuçlar döndürürse bu hatayı alırsınız:

    Screenshot that shows multiple timestamp values returned

    Birden çok zaman damgası değeri vardır ve bunlar aynı ölçüm aralığında değildir (bir gün). Ölçüm Danışmanı'nda veri alımı nasıl çalışır? seçeneğini işaretleyin ve Ölçüm Danışmanı'nın her ölçüm aralığında ölçüm verilerini kaptığını anlayın. Ardından, sonuçları bir aralık içinde sınırlamak için sorgunuzda @IntervalStart ve @IntervalEnd kullandığınızdan emin olun. Ayrıntılı yönergeler ve örnekler olup olmadığını denetleyin Use @IntervalStart and @IntervalEnd to limit query results .

  • Hata: Yinelenen ölçüm değerleri bir ölçüm aralığı içinde aynı boyut bileşiminde bulunur

    Ölçüm Danışmanı, bir aralık içinde aynı boyut birleşimleri için yalnızca bir ölçüm değeri bekler. Örneğin, bir ölçümü günlük ayrıntı düzeyinde izliyorsanız, sorgunuz aşağıdaki gibi sonuçlar döndürürse bu hatayı alırsınız:

    Screenshot that shows duplicate values returned

    Ayrıntılı yönergeler ve örnekler için ölçümleri toplamak için toplama işlevlerini kullanma bölümüne bakın.

Sonraki adımlar

Nasıl oluşturulacağını öğrenmek için sonraki makaleye ilerleyin.