Azure Stream Analytics ile Sosyal Medya Analizi

Bu makalede, gerçek zamanlı Twitter olaylarını Azure Event Hubs 'a taşıyarak sosyal medya yaklaşımı çözümleme çözümünü nasıl oluşturabileceğiniz öğretilir. verileri analiz etmek ve daha sonra kullanmak üzere sonuçları depolamak ve gerçek zamanlı öngörüler sağlamak için bir Power BI panosu oluşturmak üzere bir Azure Stream Analytics sorgusu yazın.

Sosyal Medya Analizi araçları kuruluşların popüler konuları anlamasına yardımcı olur. Popüler konular sosyal medyada yüksek hacimlerin bulunduğu konularla ve avların bulunduğu konulardır. Düşünce madenciliği olarak da adlandırılan yaklaşım analizi, sosyal medya analizi araçlarını kullanarak bir ürüne veya fikre yaklaşmayı belirlemektir.

Gerçek zamanlı Twitter eğilim analizi, bir analiz aracına yönelik harika bir örnektir çünkü diyez etiketi abonelik modeli belirli anahtar sözcükleri (hashtags) dinlemenize ve akışın yaklaşım analizini geliştirmenize olanak sağlar.

Senaryo: gerçek zamanlı sosyal medya yaklaşım Analizi

News medya web sitesi olan bir şirket, okuyucular üzerinde anında ilgili site içeriği sunarak rakiplerinin avantajlarından faydalanmaya ilgileniyor. Şirket, Twitter verilerinin gerçek zamanlı yaklaşım analizini yaparak okuyucularla ilgili konularda sosyal medya analizini kullanır.

Şirket içi konuları Twitter 'da gerçek zamanlı olarak belirlemek için, şirketin önemli konular hakkında tweet hacim ve yaklaşım hakkında gerçek zamanlı analizler olması gerekir.

Önkoşullar

Bu nasıl yapılır kılavuzunda, Twitter 'a bağlanan ve belirli bir hashtags olan (ayarlayabileceğiniz) bir istemci uygulaması kullanırsınız. Uygulamayı çalıştırmak ve Azure Akış Analizi 'ni kullanarak fazla doldurulabilir olması için aşağıdakilere sahip olmanız gerekir:

Uygulayabileceğiniz çözüm mimarisi aşağıda verilmiştir.

Çözümü oluşturmak için kullanılan farklı hizmet ve uygulama parçalarını gösteren bir diyagram.

Akış girişi için bir olay hub 'ı oluşturma

Örnek uygulama, olayları oluşturur ve bunları bir Azure Olay Hub 'ına gönderir. Azure Event Hubs, Stream Analytics için tercih edilen olay alma yöntemidir. Daha fazla bilgi için bkz. Azure Event Hubs belgeleri.

Olay Hub 'ı ad alanı ve Olay Hub 'ı oluşturma

Bu bölümde, bir olay hub 'ı ad alanı oluşturur ve bu ad alanına bir olay hub 'ı eklersiniz. Olay Hub 'ı ad alanları, ilgili olay veri yolu örneklerini mantıksal olarak gruplamak için kullanılır.

  1. Azure portal oturum açın ve kaynak oluştur' u seçin. Ni. Event Hubs arayın ve Oluştur' u seçin.

  2. Ad alanı oluştur sayfasında, bir ad alanı adı girin. Ad alanı için herhangi bir ad kullanabilirsiniz, ancak ad bir URL için geçerli olmalıdır ve Azure genelinde benzersiz olmalıdır.

  3. Bir fiyatlandırma katmanı ve abonelik seçin ve bir kaynak grubu oluşturun veya seçin. Sonra bir konum seçin ve Oluştur' u seçin.

  4. Ad alanı dağıtımı tamamladığında, kaynak grubunuza gidin ve Azure kaynakları listenizde Olay Hub 'ı ad alanını bulun.

  5. Yeni ad alanında +   Olay Hub'ı ' nı seçin.

  6. Yeni Olay Hub 'ı socialtwiur-Eh olarak adlandırın. Farklı bir ad kullanabilirsiniz. Bunu yaparsanız, bu adı daha sonra gerekli olduğunuzdan emin olun. Olay Hub 'ı için başka herhangi bir seçenek ayarlamanıza gerek yoktur.

  7. Oluştur’u seçin.

Olay Hub 'ına erişim izni verme

Bir işlemin bir olay hub 'ına veri gönderebilmesi için, Olay Hub 'ının erişime izin veren bir ilkeye ihtiyacı vardır. Erişim ilkesi, yetkilendirme bilgilerini içeren bir bağlantı dizesi oluşturur.

  1. Olay Hub 'larınızın sol tarafındaki gezinti çubuğunda, varlıklar bölümünde bulunan Event Hubs' yi seçin. Ardından, az önce oluşturduğunuz Olay Hub 'ını seçin.

  2. sol taraftaki gezinti çubuğunda Ayarlar altında bulunan paylaşılan erişim ilkeleri ' ni seçin.

    Not

    Olay Hub 'ı ad alanı ve Olay Hub 'ı için altında bir paylaşılan erişim ilkeleri seçeneği vardır. Genel olay hub 'ı ad alanını değil, Olay Hub 'ınız bağlamında çalıştığınızdan emin olun.

  3. Erişim ilkesi sayfasında + Ekle' yi seçin. Ardından, ilke adı için socialtwiur-Access girin ve Yönet onay kutusunu işaretleyin.

  4. Oluştur’u seçin.

  5. İlke dağıtıldıktan sonra, paylaşılan erişim ilkeleri listesinden ilkeyi seçin.

  6. Bağlantı dizesi birincil anahtarı etiketli kutuyu bulun ve bağlantı dizesinin yanındaki Kopyala düğmesini seçin.

  7. Bağlantı dizesini bir metin düzenleyicisine yapıştırın. Bazı küçük düzenlemeler yaptıktan sonra, sonraki bölümde bu bağlantı dizesine ihtiyacınız vardır.

Bağlantı dizesi şuna benzer:

Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=Gw2NFZw6r...FxKbXaC2op6a0ZsPkI=;EntityPath=socialtwitter-eh

Bağlantı dizesinin, noktalı virgülle ayrılmış birden çok anahtar-değer çifti içerdiğini unutmayın: Endpoint ,, SharedAccessKeyName SharedAccessKey ve EntityPath .

Not

Güvenlik için örnekteki bağlantı dizesinin parçaları kaldırılmıştır.

Twitter istemci uygulamasını yapılandırma ve başlatma

İstemci uygulaması doğrudan Twitter 'dan Tweet olaylarını alır. Bunu yapmak için Twitter akış API 'Lerini çağırmak için izne ihtiyacı vardır. Bu izni yapılandırmak için Twitter 'da benzersiz kimlik bilgileri üreten (bir OAuth belirteci gibi) bir uygulama oluşturursunuz. Daha sonra, istemci uygulamasını, API çağrıları yaptığında bu kimlik bilgilerini kullanacak şekilde yapılandırabilirsiniz.

Twitter uygulaması oluşturma

Bu nasıl yapılır Kılavuzu için kullanabileceğiniz bir Twitter uygulamanız yoksa, bir tane oluşturabilirsiniz. Zaten bir Twitter hesabınız olmalıdır.

Not

Bir uygulama oluşturmak ve anahtarları, parolaları ve belirteci almak için Twitter 'daki tam işlem değişebilir. Bu yönergeler Twitter sitesinde gördükleriyle eşleşmiyorsa Twitter geliştirici belgelerine bakın.

  1. Web tarayıcısından, geliştiriciler Için Twitter' a gidin, bir geliştirici hesabı oluşturun ve uygulama oluştur' u seçin. Twitter geliştirici hesabı için uygulamanız gerektiğini söyleyen bir ileti görebilirsiniz. Bu işlemi ücretsiz yapın ve uygulamanız onaylandıktan sonra bir onay e-postası görmeniz gerekir. Bir geliştirici hesabının onaylanması birkaç gün sürebilir.

    Ekran görüntüsü, uygulama oluştur düğmesini gösterir.

  2. Uygulama oluşturun sayfasında yeni uygulamaya ilişkin ayrıntıları sağlayın ve Kendi Twitter uygulamanızı oluşturun’u seçin.

    Ekran görüntüsü, uygulamanızın değerlerini girebileceğiniz uygulama ayrıntıları bölmesini gösterir.

  3. Uygulama sayfasında anahtarlar ve belirteçler sekmesini seçin ve Tüketici API anahtarı ve Tüketici API 'si gizli anahtarı için değerleri kopyalayın. Ayrıca, erişim belirteçlerini oluşturmak için erişim belirteci altında Oluştur ve erişim belirteci gizli anahtarı ' nı seçin. Erişim Belirteci ve Erişim Belirteci Parolası değerlerini kopyalayın.

    Twitter uygulaması için aldığınız değerleri kaydedin. Değerlerin daha sonra olması gerekir.

Not

Twitter uygulaması için anahtarlar ve gizli diziler Twitter hesabınıza erişim sağlar. Bu bilgileri, Twitter parolanızla yaptığınız gibi hassas olarak değerlendirin. Örneğin, bu bilgileri başkalarına verdiğiniz bir uygulamaya gömmeyin.

İstemci uygulamasını yapılandırma

Belirli bir konu kümesiyle ilgili Tweet olayları toplamak için Twitter akış API 'lerini kullanarak Twitter verilerine bağlanan bir istemci uygulaması oluşturduk.

Uygulama çalışmadan önce, Twitter anahtarları ve Olay Hub 'ı bağlantı dizesi gibi belirli bilgileri sizin için de gerektirir.

  1. Ön koşullar bölümünde listelendiği gibi, dallı , sanal çekirdek uygulamasını indirdiğinizden emin olun.

  2. App.config dosyasını açmak için bir metin düzenleyicisi kullanın. Öğesinde aşağıdaki değişiklikleri yapın <appSettings> :

    • oauth_consumer_keyTwitter tüketici anahtarına (API anahtarı) ayarlayın.
    • oauth_consumer_secretTwitter tüketicisi gizli anahtarı (API gizli anahtarı) olarak ayarlanır.
    • oauth_tokenTwitter erişim belirtecine ayarlayın.
    • oauth_token_secretTwitter erişim belirteci parolası olarak ayarlayın.
    • EventHubNameConnectionStringBağlantı dizesine ayarlayın.
    • EventHubNameOlay Hub 'ı adına (varlık yolunun değeri) ayarlayın.
  3. Komut satırı açın ve TwitterClientCore uygulamanın bulunduğu dizine gidin. Projeyi dotnet build derlemek için komutunu kullanın. Ardından komutunu kullanarak dotnet run uygulamayı çalıştırın. Uygulama, Olay Hub'ınıza Tweetler gönderir.

Akış Analizi işi oluşturma

Twitter'dan gerçek zamanlı olarak tweet olayları akışı yaptığına göre, bu olayları gerçek Stream Analytics analiz etmek için bir Stream Analytics iş kurabilirsiniz.

  1. Kaynak Azure portal grubuna gidin ve + Ekle'yi seçin. Ardından iş Stream Analytics oluştur'a seçin.

  2. İş olarak bir socialtwitter-sa-job abonelik, kaynak grubu ve konum belirtin.

    En iyi performans için işi ve olay hub'ını aynı bölgeye yer ve böylece bölgeler arasında veri aktarımı için ödeme yapmak iyi bir fikirdir.

  3. Oluştur’u seçin. Ardından dağıtım tamamlandığında işinize gidin.

İş girişini belirtme

  1. İş Stream Analytics sol menüden İş Topolojisi'nin altından Girişler'i seçin.

  2. Akış +   girişi olay hub'ı > ekle'yi seçin. Yeni giriş formunu aşağıdaki bilgilerle doldurun:

    Ayar Önerilen değer Açıklama
    Girdi diğer adı TwitterStream Giriş için bir diğer ad girin.
    Abonelik <Your subscription> Kullanmak istediğiniz Azure aboneliğini seçin.
    Olay hub'ı ad alanı asa-twitter-eventhub
    Olay Hub'ı adı socialtwitter-eh Var olanı kullan'ı seçin. Ardından oluşturduğunuz Olay Hub'larını seçin.
    Olay sıkıştırma türü Gzip Veri sıkıştırma türü.

    Kalan varsayılan değerleri bırakın ve Kaydet'i seçin.

İş sorgusunu belirtme

Stream Analytics dönüştürmeleri açıklayan basit, bildirime açık bir sorgu modelini destekler. Dil hakkında daha fazla bilgi edinmek için bkz. Azure Stream Analytics Dili Başvurusu. Bu nasıl kullanılır kılavuzu, Twitter verileri üzerinde çeşitli sorgular yazmanıza ve test yardımcı olur.

Konu başlıkları arasındaki bahsetme sayısını karşılaştırmak için atlar penceresini kullanarak her beş saniyede bir konuya göre bahsetme sayısını eldeabilirsiniz.

  1. İş genel bakış kısmında Sorgu kutusunun sağ üst kısmında bulunan Sorguyu düzenle'yi seçin. Azure, iş için yapılandırılan girişleri ve çıkışları listeler ve çıkışa gönderilirken giriş akışını dönüştürmek için bir sorgu oluşturmanıza olanak sağlar.

  2. Sorgu düzenleyicisinde sorguyu aşağıdakiyle değiştirebilirsiniz:

    SELECT *
    FROM TwitterStream
    
  3. İletilerden gelen olay verileri sorgunun altındaki Giriş önizleme penceresinde görünmektedir. Görünüm'un JSON olarak ayarlanmış olduğundan emin olmak. Herhangi bir veri görmüyorsanız, veri oluşturucusnizin olay hub'ınıza olay gönderdiğini ve giriş için sıkıştırma türü olarak GZip'i seçtiğinizden emin olun.

  4. Sorguyu test edin'i seçin ve sorgunun altındaki Test sonuçları penceresindeki sonuçlara dikkat edin.

  5. Kod düzenleyicisinde sorguyu aşağıdakiyle değiştirerek Sorguyu sına'ya seçin:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. Bu sorgu, Azure anahtar sözcüğünü içeren tüm tweetleri döndürür.

Çıkış havuzu oluşturma

Artık bir olay akışı, olayları alan bir olay hub'ı girişi ve akış üzerinde dönüştürme gerçekleştirmek için bir sorgu tanımladınız. Son adım, iş için bir çıkış havuzu tanımlamaktır.

Bu nasıl çalıştırılan kılavuzunda iş sorgusundan toplanan tweet olaylarını Azure Blob depolama alanına yazarsiniz. Ayrıca, uygulama gereksinimlerinize bağlı olarak Azure SQL Veritabanı, Azure Tablo depolama, Event Hubs veya Power BI'ye de itebilirsiniz.

İş çıktısını belirtme

  1. Sol gezinti menüsündeki İş Topolojisi bölümünde Çıkışlar'ı seçin.

  2. Çıkışlar sayfasında Ekle **+  ** ve Blob depolama/Data Lake depolama Depolama 2. Nesil'e tıklayın:

    • Çıkış diğer adı: adını TwitterStream-Output kullanın.
    • İçeri aktarma seçenekleri: Aboneliklerinize depolama alanı seçin'i seçin.
    • Depolama hesabı. Depolama hesabınızı seçin.
    • Kapsayıcı. Yeni oluştur'ı seçin ve socialtwitter girin.
  3. Kaydet’i seçin.

İşi başlatma

İş girişi, sorgu ve çıkış belirtilir. Yeni işi başlatmaya Stream Analytics.

  1. TwitterClientCore uygulamasının çalışıyor olduğundan emin olun.

  2. İş genel bakış'ta Başlat'ı seçin.

  3. İş başlat sayfasında, İş çıktısı başlangıç zamanı için Şimdi'yi ve ardından Başlat'ı seçin.

Destek alın

Daha fazla yardım için Microsoft Q&A soru sayfamızı Azure Stream Analytics.

Sonraki adımlar