Hızlı Başlangıç: Tıklama akışı analizi için uçtan uca akış uygulaması oluşturma

Tıklama akışı verilerini analiz etmek, işletmelerin web sitesi trafiğini iyileştirmesi ve kullanıcı davranışları hakkında içgörüler elde edebilmesi için etkili bir yoldur. Bu hızlı başlangıç kılavuzunda web sitesi clickstream verilerini analiz etmek için nasıl bir akış tabanlı uygulama oluşturabileceğiniz özetlenmiştir.

Bu kılavuzda özetlenen yöntem, azure kaynaklarını otomatik olarak oluşturulan örnek veri akışlarıyla dağıtmak için bir PowerShell betiği kullanır. Otomatik oluşturulan veriler çeşitli akış analizi senaryolarını keşfetmenize olanak tanır ve Azure kaynaklarını zahmetsizce dağıtmanıza yardımcı olur.

Tıklama akışını işlemeye ve analize yönelik tipik senaryolar şunlardır:

  • Tıklama akışı isteklerini filtreleme
  • Tıklama akışını dosyayla birleştirme

Önkoşullar

Tıklama akışı isteklerini filtreleme

Bu örnekte, bir web sitesi tıklama akışından GET ve POST isteklerini ayıklamayı ve çıkış sonuçlarını Azure Blob Depolama'e depolamayı öğreneceksiniz. İşte bu örneğin mimarisi: Bir girdinin Stream Analytics üzerinden Blob Depolama’a aktığı tıklama akışı filtresi mimarisini gösteren diyagram.

Web sitesi tıklama akışı örneği:

{
    "EventTime": "2022-09-09 08:58:59 UTC",
    "UserID": 465,
    "IP": "203.0.113.170",
    "Request": {
    "Method": "GET",
    "URI": "/index.html",
    "Protocol": "HTTP/1.1"
    },
    "Response": {
    "Code": 200,
    "Bytes": 42682
    },
    "Browser": "Chrome"
}

Gerekli kaynakları dağıtmak için GitHub deposunda bulunan betikleri kullanın:

  1. Başlat menüsünden PowerShell'i açın ve bu GitHub deposunu çalışma dizininize kopyalayın.

    git clone https://github.com/Azure/azure-stream-analytics.git
    
  2. BuildApplications klasörüne gidin.

    cd .\azure-stream-analytics\BuildApplications\
    
  3. Azure'da oturum açın ve açılır tarayıcıya Azure kimlik bilgilerinizi girin.

    Connect-AzAccount
    
  4. değerini Azure abonelik kimliğiniz ile değiştirin $subscriptionId ve Azure kaynaklarını dağıtmak için aşağıdaki komutu çalıştırın. Bu işlemin tamamlanması birkaç dakika sürebilir.

    .\CreateJob.ps1 -job ClickStream-Filter -eventsPerMinute 11 -subscriptionid $subscriptionId
    
    • eventsPerMinute , oluşturulan verilerin giriş hızıdır. Bu durumda, giriş kaynağı dakikada 11 olay oluşturur.
    • Abonelik kimliğinizi Azure portal > Abonelikleri'nde bulabilirsiniz.
  5. Dağıtım tamamlandıktan sonra tarayıcınız otomatik olarak açılır. Azure portalında ClickStream-Filter-rg-* adlı bir kaynak grubu görebilirsiniz. Kaynak grubu aşağıdaki beş kaynağı içerir:

    Kaynak Türü İsim Description
    Azure İşlevi tıklama akışı* Tıklama akışı verileri oluşturma
    Event Hubs tıklama akışı* Tüketim için tıklama akışı verilerini alma
    Stream Analytics İşi ClickStream Filtresi Tıklama akışı girişinden istekleri ayıklamak GET için sorgu tanımlama
    Blob Depolama tıklama akışı* Stream Analytics işi için çıkış hedefi
    Uygulama Hizmeti Planı tıklama akışı* Azure İşlevi için gereklilik
  6. Bir web sitesi tıklama akışından istekleri ayıklamak için bir akış uygulamasını devreye aldınız.

  7. Stream Analytics işi ClickStream-Filter , tıklama akışından HTTP isteklerini ayıklamak için aşağıdaki sorguyu kullanır. Çıktı sonuçlarının önizlemesini görüntülemek için sorgu düzenleyicisinde Sorguyu test et'i seçin.

    SELECT System.Timestamp Systime, UserId, Request.Method, Response.Code, Browser
    INTO BlobOutput
    FROM ClickStream TIMESTAMP BY Timestamp
    WHERE Request.Method = 'GET' or Request.Method = 'POST'
    

    Test sorgusu çıktı sonuçlarını gösteren Stream Analytics sorgu düzenleyicisinin ekran görüntüsü.

  8. Sorgu açıklamalarındaki aşağıdaki örnek sorgular, bir akış girişi olan diğer akış analizi senaryoları için kullanılabilir.

    • Her saat için tıklama sayısı

      select System.Timestamp as Systime, count( * )
      FROM clickstream
      TIMESTAMP BY EventTime
      GROUP BY TumblingWindow(hour, 1)
      
    • Ayrı kullanıcı seçme

      SELECT *
      FROM clickstream
      TIMESTAMP BY Time
      WHERE ISFIRST(hour, 1) OVER(PARTITION BY userId) = 1
      
  9. Tüm çıkış sonuçları Azure Blob Depolama'de bir JSON dosya olarak depolanır. Buna Blob Depolama > Kapsayıcılar > job-output yoluyla ulaşabilirsiniz. İş çıktı kapsayıcısını gösteren Blob Depolama kapsayıcıları sayfasının ekran görüntüsü.

Tıklama akışını referans dosyasıyla birleştirme

Depolamadaki bir kullanıcı dosyasını kullanarak tıklama akışının kullanıcı adını bulmak için, aşağıdaki mimaride gösterildiği gibi tıklama akışını bir başvuru verisiyle birleştirebilirsiniz: Bir akış girdisi ile bir başvuru dosyasını birleştiren iki girdili tıklama akışı mimarisini gösteren diyagram.

Bu bölüm , Filtre tıklama akışı isteklerinde dağıtılan kaynakları temel alır. Yeni bir kaynak grubu oluşturmak için aşağıdaki komutları çalıştırın:

  1. değerini Azure abonelik kimliğiniz ile değiştirin $subscriptionId ve Azure kaynaklarını dağıtmak için aşağıdaki komutu çalıştırın. Bu işlemin tamamlanması birkaç dakika sürebilir.

    .\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionId
    
  2. Dağıtım tamamlandıktan sonra tarayıcınız otomatik olarak açılır. Azure portalında ClickStream-RefJoin-rg-* adlı bir kaynak grubu görebilirsiniz. Kaynak grubu beş kaynak içerir.

  3. ClickStream-RefJoin Stream Analytics işi, tıklama akışını referans SQL girdisiyle birleştirmek için aşağıdaki sorguyu kullanır.

    CREATE TABLE UserInfo(
      UserId bigint,
      UserName nvarchar(max),
      Gender nvarchar(max)
    );
    SELECT System.Timestamp Systime, ClickStream.UserId, ClickStream.Response.Code, UserInfo.UserName, UserInfo.Gender
    INTO BlobOutput
    FROM ClickStream TIMESTAMP BY EventTime
    LEFT JOIN UserInfo ON ClickStream.UserId = UserInfo.UserId
    
  4. Kullanıcı dosyanızı bir web sitesi tıklama akışıyla birleştirmek için bir akış uygulamasını devreye aldınız.

Kaynakları temizle

Kaynak grubuna artık ihtiyacınız yoksa, silmek için PowerShell'de bu komutu çalıştırın.

Remove-AzResourceGroup -Name $resourceGroup

Gelecekte bu projeyi kullanmayı planlıyorsanız, kaynak grubunu silmeyi atlayabilir ve bunun yerine işi durdurabilirsiniz.

Sonraki Adımlar

Azure Stream Analytics hakkında bilgi edinmek için aşağıdaki makalelere geçin: