Analisis media sosial dengan Azure Stream Analytics
Artikel ini mengajarkan Anda cara membangun solusi analisis sentimen media sosial dengan membawa peristiwa Twitter real time ke Azure Event Hubs lalu menganalisisnya menggunakan Azure Stream Analytics. Anda menulis kueri Azure Stream Analytics untuk menganalisis data dan menyimpan hasil untuk digunakan nanti atau membuat dasbor Power BI untuk memberikan wawasan secara real time.
Alat analitik media sosial membantu organisasi untuk memahami topik yang sedang tren. Topik yang sedang tren adalah subjek dan sikap yang memiliki volume kiriman yang tinggi di media sosial. Analisis sentimen yang juga disebut penambangan opini , menggunakan alat analitik media sosial untuk menentukan sikap terhadap suatu produk atau ide.
Analisis tren Twitter real time adalah contoh yang bagus dari alat analitik karena model langganan hashtag memungkinkan Anda untuk mendengarkan kata kunci (hashtag) tertentu dan mengembangkan analisis sentimen pada umpan.
Skenario: Analisis sentimen media sosial secara real time
Perusahaan yang memiliki situs web media berita tertarik untuk mendapatkan keuntungan atas pesaingnya dengan menampilkan konten situs yang segera relevan dengan pembacanya. Perusahaan menggunakan analisis media sosial tentang topik yang relevan bagi pembaca dengan melakukan analisis sentimen real time terhadap data Twitter.
Untuk mengidentifikasi topik yang sedang tren secara real time di Twitter, perusahaan membutuhkan analitik real time tentang volume tweet dan sentimen untuk topik utama.
Prasyarat
Dalam panduan cara penggunaan ini, Anda menggunakan aplikasi klien yang terhubung ke Twitter dan mencari tweet yang memiliki hashtag tertentu (yang dapat Anda tetapkan). Daftar berikut memberi Anda prasyarat untuk menjalankan aplikasi dan menganalisis tweet menggunakan Azure Streaming Analytics.
Jika Anda tidak memiliki langganan Azure, buat akun gratis.
Akun Twitter.
Aplikasi TwitterClientCore yang membaca umpan Twitter. Untuk mendapatkan aplikasi ini, unduh TwitterClientCore.
Instal .NET Core CLI versi 2.1.0.
Berikut adalah arsitektur solusi yang akan Anda terapkan.
Membuat hub kejadian untuk input streaming
Aplikasi sampel menghasilkan peristiwa dan mendorongnya ke pusat aktivitas. Azure Event Hubs adalah metode penyerapan peristiwa yang lebih disukai untuk Azure Stream Analytics. Untuk informasi selengkapnya, lihat dokumentasi Azure Event Hubs.
Membuat namespace layanan Azure Event Hubs dan pusat aktivitas
Ikuti instruksi dari Mulai Cepat: Membuat pusat aktivitas menggunakan portal Azure untuk membuat namespace Layanan Pusat Aktivitas dan pusat aktivitas bernama socialtwitter-eh. Anda dapat menggunakan nama yang berbeda. Jika Anda melakukannya, catatlah, karena Anda membutuhkan nama itu nanti. Anda tidak perlu mengatur opsi lain untuk hub kejadian tersebut.
Memberikan akses ke hub kejadian
Sebelum sebuah proses dapat mengirim data ke hub kejadian, hub kejadian tersebut memerlukan kebijakan yang mengizinkan akses. Kebijakan akses menghasilkan string koneksi yang menyertakan informasi otorisasi.
Di bilah navigasi di sisi kiri namespace Layanan Pusat Aktivitas Anda, pilih Azure Event Hubs, yang terletak di bagian Entitas . Kemudian pilih hub kejadian yang baru saja Anda buat.
Pada bilah navigasi di sisi kiri, pilih Kebijakan akses bersama yang terletak di bawah Pengaturan.
Catatan
Ada opsi Kebijakan akses bersama di bawah untuk namespace layanan dan untuk pusat aktivitas. Pastikan Anda bekerja dalam konteks hub peristiwa Anda, bukan namespace layanan.
Pada halaman Kebijakan akses bersama, pilih + Tambahkan pada bilah perintah. Kemudian masukkan socialtwitter-access untuk Nama kebijakan dan centang kotak centang Kelola.
Pilih Buat.
Setelah kebijakan disebarkan, pilih kebijakan dari daftar kebijakan akses bersama.
Temukan kotak berlabel Kunci utama string koneksi dan pilih tombol salin di samping string koneksi.
Tempelkan string koneksi ke editor teks. Anda memerlukan string koneksi ini untuk bagian berikutnya setelah Anda melakukan beberapa pengeditan kecil.
String koneksi terlihat seperti ini:
Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=socialtwitter-eh
Perhatikan bahwa string koneksi berisi beberapa pasangan kunci-nilai, dipisahkan dengan titik koma: Endpoint
, SharedAccessKeyName
, SharedAccessKey
, dan EntityPath
.
Catatan
Untuk keamanan, bagian dari string koneksi dalam contoh telah dihapus.
Mengonfigurasi dan memulai aplikasi klien Twitter
Aplikasi klien mendapatkan kejadian tweet langsung dari Twitter. Untuk melakukannya, perlu izin untuk memanggil API Streaming Twitter. Untuk mengonfigurasi izin tersebut, Anda membuat aplikasi di Twitter yang menghasilkan informasi masuk unik (seperti token OAuth). Anda kemudian dapat mengonfigurasi aplikasi klien untuk menggunakan informasi masuk ini saat melakukan panggilan API.
Membuat aplikasi Twitter
Jika Anda belum memiliki aplikasi Twitter yang dapat Anda gunakan untuk panduan cara ini, Anda dapat membuatnya. Anda harus sudah memiliki akun Twitter.
Catatan
Proses yang tepat di Twitter untuk membuat aplikasi dan mendapatkan kunci, rahasia, serta token mungkin berubah. Jika instruksi ini tidak cocok dengan apa yang Anda lihat di situs Twitter, lihat dokumentasi pengembang Twitter.
Dari browser web, buka Twitter Untuk Pengembang, buat akun pengembang, lalu pilih Buat aplikasi. Anda mungkin melihat pesan yang mengatakan bahwa Anda perlu mengajukan permohonan untuk akun pengembang Twitter. Jangan ragu untuk melakukannya, lalu setelah aplikasi Anda disetujui, Anda akan melihat email konfirmasi. Ini bisa memakan waktu beberapa hari untuk disetujui untuk akun pengembang.
Di halaman Buat aplikasi, berikan detail untuk aplikasi baru, lalu pilih Buat aplikasi Twitter Anda.
Di halaman aplikasi, pilih tab Kunci dan Token, lalu salin nilai untuk Kunci API Konsumen dan Kunci Rahasia API Konsumen. Selain itu, pilih Buat di bawah Token Akses dan Rahasia Token Akses untuk menghasilkan token akses. Salin nilai untuk Token Akses dan Rahasia Token Akses.
Simpan nilai yang Anda ambil untuk aplikasi Twitter. Anda membutuhkan nilainya nanti.
Catatan
Kunci dan rahasia untuk aplikasi Twitter menyediakan akses ke akun Twitter Anda. Perlakukan informasi ini sebagai hal yang sensitif, sama seperti Anda memperlakukan kata sandi Twitter Anda. Misalnya, jangan sematkan informasi ini dalam aplikasi yang Anda berikan kepada orang lain.
Mengonfigurasi aplikasi klien
Kami telah membuat aplikasi klien yang terhubung ke data Twitter menggunakan Twitter Streaming API untuk mengumpulkan peristiwa tweet tentang serangkaian topik tertentu.
Sebelum aplikasi berjalan, aplikasi ini memerlukan informasi tertentu dari Anda, seperti kunci Twitter dan string koneksi hub kejadian.
Pastikan Anda telah mengunduh aplikasi TwitterClientCore, seperti yang tercantum dalam prasyarat.
Gunakan editor teks untuk membuka file App.config Anda. Lakukan perubahan berikut pada elemen
<appSettings>
:- Atur
oauth_consumer_key
ke Kunci Konsumen Twitter (kunci API). - Atur
oauth_consumer_secret
ke Rahasia Konsumen Twitter (kunci rahasia API). - Atur
oauth_token
ke token Akses Twitter. - Atur
oauth_token_secret
ke rahasia token Akses Twitter. - Atur
EventHubNameConnectionString
ke string koneksi. - Atur
EventHubName
ke nama hub peristiwa (yaitu nilai jalur entitas).
- Atur
Buka baris perintah dan navigasi ke direktori tempat aplikasi TwitterClientCore Anda berada. Gunakan perintah
dotnet build
untuk membangun proyek. Kemudian gunakan perintahdotnet run
untuk menjalankan aplikasi. Aplikasi mengirimkan Tweet ke Azure Event Hubs Anda.
Membuat pekerjaan Azure Stream Analytics
Sekarang setelah kejadian tweet streaming secara real time dari Twitter, Anda dapat mengatur pekerjaan Azure Stream Analytics untuk menganalisis kejadian ini secara real time.
Di portal Microsoft Azure, navigasi ke grup sumber daya Anda dan pilih + Tambahkan. Lalu cari pekerjaan Azure Stream Analytics dan pilih Buat.
Beri nama pekerjaan sebagai
socialtwitter-sa-job
dan tentukan langganan, grup sumber daya, dan lokasi.Merupakan ide yang bagus untuk menempatkan pekerjaan dan event hub di wilayah yang sama untuk performa terbaik dan agar Anda tidak membayar biaya transfer data antar wilayah.
Pilih Buat. Kemudian navigasikan ke pekerjaan Anda ketika penyebaran telah selesai.
Tentukan input pekerjaan
Pada pekerjaan Azure Stream Analytics Anda, pilih Input dari menu sebelah kiri di bawah Topologi Pekerjaan.
Pilih + Tambahkan input aliran>Event Hub. Isi formulir Input baru dengan informasi berikut:
Pengaturan Nilai yang disarankan Deskripsi Alias input TwitterStream Masukkan alias untuk input. Langganan <Langganan Anda> Pilih langganan Azure yang ingin Anda gunakan. Ruang nama Azure Event Hubs asa-twitter-eventhub Nama pusat aktivitas socialtwitter-eh Pilih Gunakan yang ada. Lalu pilih pusat aktivitas yang Anda buat. Jenis kompresi peristiwa Gzip Jenis pemadatan data. Biarkan nilai default yang tersisa dan pilih Buat.
Tentukan kueri pekerjaan
Azure Stream Analytics mendukung model kueri deklaratif dan sederhana yang menjelaskan transformasi. Untuk mempelajari selengkapnya tentang bahasa tersebut, lihat Referensi Bahasa Kueri Azure Stream Analytics. Panduan cara ini membantu Anda membuat dan menguji beberapa kueri melalui data Twitter.
Untuk membandingkan jumlah sebutan di antara topik, Anda dapat menggunakan jendela Tumbling untuk mendapatkan jumlah sebutan berdasarkan topik setiap lima detik.
Pada Gambaran umum pekerjaan Anda, pilih Edit kueri di dekat kanan atas kotak Kueri. Azure mencantumkan input dan output yang dikonfigurasi untuk pekerjaan tersebut serta memungkinkan Anda membuat kueri untuk mengubah aliran input saat dikirim ke output.
Ubah kueri di editor kueri menjadi berikut ini:
SELECT * FROM TwitterStream
Data kejadian dari pesan akan muncul di jendela Pratinjau input di bawah kueri Anda. Pastikan Tampilan diatur ke JSON. Jika Anda tidak melihat data apa pun, pastikan generator data Anda mengirim peristiwa ke pusat aktivitas Anda, dan Anda telah memilih Gzip sebagai jenis kompresi untuk input.
Pilih Uji kueri dan perhatikan hasilnya di jendela Hasil uji di bawah kueri Anda.
Ubah kueri di editor kode menjadi berikut ini dan pilih Uji kueri:
SELECT System.Timestamp as Time, text FROM TwitterStream WHERE text LIKE '%Azure%'
Kueri ini menampilkan semua tweet yang menyertakan kata kunci Azure.
Membuat sink output
Anda sekarang telah menentukan aliran peristiwa, input pusat aktivitas untuk menyerap peristiwa, dan kueri untuk melakukan transformasi melalui aliran. Langkah terakhir adalah menentukan sink output untuk pekerjaan tersebut.
Dalam panduan cara penggunaan ini, Anda menulis kejadian tweet yang diagregasi dari kueri pekerjaan ke penyimpanan Azure Blob. Anda juga bisa mendorong hasil Anda ke Azure SQL Database, penyimpanan Azure Table, Azure Event Hubs, atau Power BI, tergantung pada kebutuhan aplikasi Anda.
Tentukan output pekerjaan
Di bawah bagian Topologi Pekerjaan di menu navigasi kiri, pilih Output.
Di halaman Output, pilih + Tambahkan dan Penyimpanan Blob/Data Lake Storage Gen2:
- Alias output: Gunakan nama
TwitterStream-Output
. - Opsi impor: Pilih Pilih penyimpanan dari langganan Anda.
- Akun penyimpanan. Pilih akun penyimpanan Anda.
- Kontainer. Pilih Buat baru dan masukkan
socialtwitter
.
- Alias output: Gunakan nama
Pilih Simpan.
Mulai pekerjaan
Input pekerjaan, kueri, dan output telah ditentukan. Anda siap untuk memulai pekerjaan Azure Stream Analytics.
Pastikan aplikasi TwitterClientCore berjalan.
Dalam gambaran umum pekerjaan, pilih Mulai.
Pada halaman Mulai pekerjaan, untuk Waktu mulai output pekerjaan, pilih Sekarang lalu pilih Mulai.
Dapatkan dukungan
Untuk bantuan lebih lanjut, coba halaman pertanyaan Microsoft Q&A untuk Azure Stream Analytics.