Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial ini menunjukkan kepada Anda cara menganalisis data panggilan telepon menggunakan Azure Stream Analytics. Data panggilan telepon, yang dihasilkan oleh aplikasi klien, berisi panggilan penipuan, yang dideteksi oleh pekerjaan Azure Stream Analytics. Anda dapat menggunakan teknik dari tutorial ini untuk jenis deteksi penipuan lainnya, seperti penipuan kartu kredit atau pencurian identitas.
Dalam tutorial ini, Anda melakukan tugas berikut:
- Menghasilkan contoh data panggilan telepon dan mengirimkannya ke Azure Event Hubs.
- Buat tugas Stream Analytics.
- Mengonfigurasi input dan output pekerjaan.
- Tentukan kueri untuk memfilter panggilan penipuan.
- Menguji dan memulai tugas.
- Memvisualisasikan hasil di Power BI.
Prasyarat
Sebelum memulai, pastikan Anda menyelesaikan langkah-langkah berikut:
- Jika Anda tidak memiliki langganan Azure, buat akun gratis.
- Unduh aplikasi generator peristiwa panggilan telepon, TelcoGenerator.zip dari Microsoft Download Center atau dapatkan kode sumber dari GitHub.
- Anda memerlukan akun Power BI .
Masuk ke Azure
Masuk ke portal Azure.
Membuat pusat aktivitas
Anda perlu mengirim beberapa data sampel ke pusat aktivitas sebelum Azure Stream Analytics dapat menganalisis aliran data panggilan penipuan. Dalam tutorial ini, Anda mengirim data ke Azure dengan menggunakan Azure Event Hubs.
Gunakan langkah berikut untuk membuat pusat aktivitas dan mengirim data panggilan ke pusat aktivitas tersebut:
Masuk ke portal Azure.
Pilih Semua layanan di menu sebelah kiri, pilih Internet of things, arahkan mouse ke Azure Event Hubs, lalu pilih tombol + (Tambahkan).
Pada halaman Buat Namespace , ikuti langkah-langkah berikut ini:
Pilih langganan Azure di mana Anda ingin membuat pusat acara.
Untuk Grup sumber daya, pilih Buat baru dan masukkan nama untuk grup sumber daya. Namespace layanan Azure Event Hubs dibuat dalam grup sumber daya ini.
Untuk Nama Namespace, masukkan nama unik untuk namespace Event Hubs.
Untuk Lokasi, pilih wilayah tempat Anda ingin membuat namespace.
Untuk Tingkat harga, pilih Standar.
Pilih Tinjau + buat di bagian bawah halaman.
Di halaman Tinjau + Buat dari wizard pembuatan namespace, pilih Buat di bagian bawah halaman setelah meninjau semua pengaturan.
Setelah namespace berhasil disebarkan, pilih Pergi ke sumber daya untuk masuk ke halaman Event Hubs Namespace.
Pada halaman namespace layanan Azure Event Hubs , pilih +Event Hub pada bilah perintah.
Pada halaman Buat Azure Event Hub, masukkan Nama untuk pusat aktivitas. Atur Jumlah Partisi ke 2. Gunakan opsi default di pengaturan yang tersisa dan pilih Tinjau + buat.
Pada halaman Tinjau + buat, pilih Buat di bagian bawah halaman. Kemudian tunggu penyebaran berhasil.
Berikan akses ke event hub dan dapatkan string koneksi
Sebelum aplikasi dapat mengirim data ke Azure Event Hubs, event hub harus memiliki kebijakan yang mengizinkan akses. Kebijakan akses menghasilkan string koneksi yang menyertakan informasi otorisasi.
Pada halaman namespace layanan Azure Event Hubs , pilih Kebijakan akses bersama di menu sebelah kiri.
Pilih RootManageSharedAccessKey dari daftar kebijakan.
Kemudian, pilih tombol salin di samping String koneksi - kunci utama.
Tempelkan string koneksi ke editor teks. Anda memerlukan string koneksi ini di bagian berikutnya.
String koneksi terlihat sebagai berikut:
Endpoint=sb://<Your event hub namespace>.servicebus.windows.net/;SharedAccessKeyName=<Your shared access policy name>;SharedAccessKey=<generated key>Perhatikan bahwa string koneksi berisi beberapa pasangan kunci-nilai yang dipisahkan dengan titik koma: Titik Akhir, SharedAccessKeyName, dan SharedAccessKey.
Mulai aplikasi generator event
Sebelum memulai aplikasi TelcoGenerator, Anda harus mengonfigurasinya untuk mengirim data ke Azure Event Hubs yang Anda buat sebelumnya.
Ekstrak isi file TelcoGenerator.zip ini.
Buka file
TelcoGenerator\TelcoGenerator\telcodatagen.exe.configdi editor teks pilihan Anda. Ada lebih dari satu file.config, jadi pastikan Anda membuka yang benar.Perbarui elemen
<appSettings>dalam file konfigurasi dengan detail berikut:- Atur nilai kunci EventHubName ke nama hub peristiwa yang Anda buat di bagian sebelumnya.
- Atur nilai kunci Microsoft.ServiceBus.ConnectionString ke string koneksi ke namespace. Jika Anda menggunakan string koneksi ke event hub, bukan namespace, hapus
EntityPathnilai (;EntityPath=myeventhub) di akhir. Jangan lupa untuk menghapus titik koma yang mendahului nilai EntityPath.
Simpan file.
Selanjutnya buka jendela perintah dan beralih ke folder tempat Anda mengekstrak aplikasi TelcoGenerator. Masukkan perintah berikut:
.\telcodatagen.exe 1000 0.2 2Perintah ini mengambil parameter berikut:
- Jumlah catatan data panggilan per jam.
- Persentase probabilitas penipuan, yaitu seberapa sering aplikasi harus mensimulasikan panggilan penipuan. Nilai 0,2 berarti bahwa sekitar 20% dari rekaman panggilan terlihat curang.
- Durasi dalam jam, yaitu jumlah jam aplikasi harus berjalan. Anda juga dapat menghentikan aplikasi kapan saja dengan mengakhiri proses (Ctrl+C) di baris perintah.
Setelah beberapa detik, aplikasi mulai menampilkan catatan panggilan telepon di layar saat aplikasi mengirimkannya ke event hub. Data panggilan telepon berisi bidang berikut ini:
Rekaman Definisi CallrecTime Tanda waktu untuk waktu mulai panggilan. SwitchNum Pengalih telepon yang digunakan untuk menyambungkan panggilan. Untuk contoh ini, pengalih adalah string yang mewakili negara/wilayah asal (AS, Tiongkok, Inggris, Jerman, atau Australia). CallingNum Nomor telepon penelepon. CallingIMSI Identitas Pelanggan Seluler Internasional (IMSI). Ini adalah pengidentifikasi unik penelepon. CalledNum Nomor telepon penerima panggilan. CalledIMSI Identitas Pelanggan Seluler Internasional (IMSI). Ini adalah pengidentifikasi unik penerima panggilan.
Membuat pekerjaan Stream Analytics
Setelah Anda memiliki streaming peristiwa panggilan, Anda dapat membuat pekerjaan Stream Analytics yang membaca data dari event hub.
Untuk membuat pekerjaan Stream Analytics, buka portal Azure.
Pilih Semua layanan di menu sebelah kiri, cari pekerjaan Azure Stream Analytics, arahkan mouse ke atas petak pekerjaan Azure Stream Analytics , lalu pilih + tombol atau pilih Buat di jendela pop-up.
Di halaman Pekerjaan Baru Stream Analytics, ikuti langkah-langkah berikut:
Untuk Langganan, pilih langganan yang berisi namespace layanan Azure Event Hubs.
Untuk Grup sumber daya, pilih grup sumber daya yang Anda buat sebelumnya.
Di bagian Detail instans, untuk Nama, masukkan nama unik untuk pekerjaan Stream Analytics.
Untuk Wilayah, pilih wilayah tempat Anda ingin membuat pekerjaan Stream Analytics. Kami menyarankan agar Anda menempatkan pekerjaan dan pusat aktivitas di wilayah yang sama untuk performa terbaik dan agar Anda tidak membayar untuk mentransfer data antar wilayah.
Untuk Lingkungan hosting< pilih Cloud jika belum dipilih. Pekerjaan Azure Stream Analytics dapat disebarkan ke cloud atau edge. Cloud memungkinkan Anda untuk menyebarkan ke Azure Cloud, dan Edge memungkinkan Anda untuk menyebarkan ke perangkat IoT Edge.
Untuk Unit streaming, pilih 1. Unit streaming mewakili sumber daya komputasi yang diperlukan untuk menjalankan pekerjaan. Secara default, nilai ini diatur ke 1. Untuk mempelajari tentang penskalaan unit streaming, lihat artikel memahami dan menyesuaikan unit streaming.
Pilih Tinjau + buat di bagian bawah halaman.
Pada halaman Tinjau + buat, tinjau pengaturan, lalu pilih Buat untuk membuat pekerjaan Stream Analytics.
Setelah pekerjaan disebarkan, pilih Buka sumber daya untuk menavigasi ke halaman pekerjaan Stream Analytics.
Mengonfigurasi input pekerjaan
Langkah selanjutnya adalah menentukan sumber input untuk pekerjaan membaca data menggunakan event hub yang Anda buat di bagian sebelumnya.
Pada halaman Stream Analytics job, di bagian Job Topology di menu sebelah kiri, pilih Inputs.
Pada halaman Input , pilih + Tambahkan input dan Event hub.
Pada halaman Pusat aktivitas , ikuti langkah-langkah berikut:
Untuk Input alias, masukkan CallStream. Alias input adalah nama yang mudah diingat untuk mengidentifikasi input Anda. Alias input hanya dapat berisi karakter alfanumerik dan tanda hubung, dan panjangnya harus 3-63 karakter.
Untuk Langganan, pilih langganan Azure tempat Anda membuat event hub. Event hub dapat berada di langganan yang sama atau yang berbeda dengan pekerjaan Stream Analytics.
Untuk Event Hubs namespace, pilih namespace Event Hubs yang Anda buat di bagian sebelumnya. Semua namespace yang tersedia di langganan Anda saat ini tercantum di menu dropdown.
Untuk Nama hub peristiwa, pilih hub peristiwa yang Anda buat di bagian sebelumnya. Semua hub peristiwa yang tersedia di namespace yang dipilih tercantum di menu dropdown.
Untuk Grup konsumen hub acara, pertahankan opsi Buat baru agar grup konsumen baru dibuat di hub acara. Kami sarankan Anda menggunakan grup konsumen yang berbeda untuk setiap pekerjaan Azure Stream Analytics. Jika tidak ada grup konsumen yang ditentukan, pekerjaan pada layanan Azure Stream Analytics
$Defaultmenggunakan grup konsumen. Saat pekerjaan memuat swa-gabung atau berisi beberapa input, beberapa input di kemudian waktu mungkin dibaca oleh lebih dari satu pembaca. Situasi ini berdampak pada jumlah pembaca dalam satu grup konsumen.Untuk Mode autentikasi, pilih String koneksi. Lebih mudah untuk menguji tutorial dengan opsi ini.
Untuk Nama kebijakan hub peristiwa, pilih Gunakan yang sudah ada, lalu pilih kebijakan default: RootManageSharedAccessKey.
Pilih Simpan di bagian bawah halaman.
Mengonfigurasi output pekerjaan
Langkah terakhir adalah menentukan sink output tempat pekerjaan dapat menulis data yang ditransformasi. Dalam tutorial ini, Anda mengeluarkan dan memvisualisasikan data dengan menggunakan Power BI.
Dari portal Azure, buka Semua sumber daya, dan pilih pekerjaan ASATutorial Stream Analytics.
Di bagian Topologi Pekerjaan dari pekerjaan Stream Analytics, pilih opsi Output.
Pilih + Tambahkan output>Power BI.
Isi formulir output baru dengan detail berikut:
Pengaturan Nilai yang disarankan Alias output MyPBIoutput Ruang kerja grup Ruang kerja saya Nama himpunan data ASAdataset Nama tabel ASATable Mode autentikasi Token pengguna Pilih Otorisasi dan ikuti perintah untuk mengautentikasi Power BI.
Pilih Simpan di bagian bawah halaman Power BI.
Tutorial ini menggunakan mode autentikasi token pengguna. Untuk menggunakan Identitas Terkelola, lihat Menggunakan Identitas Terkelola untuk mengautentikasi pekerjaan Azure Stream Analytics Anda ke Power BI.
Membuat kueri untuk mengubah data waktu nyata
Pada titik ini, Anda menyiapkan pekerjaan Stream Analytics untuk membaca aliran data yang masuk. Langkah selanjutnya adalah membuat kueri yang menganalisis data secara real time. Kueri menggunakan bahasa seperti SQL yang memiliki beberapa ekstensi khusus untuk Azure Stream Analytics.
Di bagian tutorial ini, Anda membuat dan menguji beberapa kueri untuk mempelajari beberapa cara anda dapat mengubah aliran input untuk analisis.
Kueri yang Anda buat di sini hanya menampilkan data yang diubah ke layar. Di bagian selanjutnya, Anda menulis data yang diubah ke Power BI.
Untuk informasi selengkapnya tentang bahasa tersebut, lihat Referensi Bahasa Kueri Azure Stream Analytics.
Menguji dengan menggunakan kueri pass-through
Jika Anda ingin mengarsipkan setiap peristiwa, gunakan kueri pass-through untuk membaca semua bidang dalam payload peristiwa.
Buka pekerjaan Azure Stream Analytics Anda di portal Microsoft Azure dan pilih Kueri di bawah Topologi pekerjaan di menu sebelah kiri.
Di jendela kueri, masukkan kueri ini:
SELECT * FROM CallStreamCatatan
Seperti halnya SQL, kata kunci tidak peka huruf besar/kecil, dan spasi tidak berpengaruh.
Dalam kueri ini,
CallStreamadalah alias yang Anda tentukan saat Anda membuat input. Jika Anda menggunakan alias yang berbeda, gunakan nama tersebut sebagai gantinya.Pilih Uji kueri.
Pekerjaan Stream Analytics menjalankan kueri terhadap data sampel dari input dan menampilkan output di bagian bawah jendela. Hasilnya menunjukkan bahwa pekerjaan Streaming Analytics dan Event Hubs dikonfigurasi dengan benar.
Jumlah pasti rekaman yang Anda lihat tergantung pada berapa banyak rekaman yang diambil dalam sampel.
Mengurangi jumlah bidang dengan menggunakan proyeksi kolom
Dalam banyak kasus, analisis Anda tidak memerlukan semua kolom dari aliran input. Gunakan kueri untuk memproyeksikan sekumpulan bidang yang dikembalikan yang lebih kecil daripada yang ada dalam kueri pass-through.
Jalankan kueri berikut dan perhatikan outputnya.
SELECT CallRecTime, SwitchNum, CallingIMSI, CallingNum, CalledNum
INTO
[MyPBIoutput]
FROM
CallStream
Menghitung panggilan masuk menurut wilayah: Jendela bergulir dengan agregasi
Misalkan Anda ingin menghitung jumlah panggilan masuk per wilayah. Dalam data streaming, ketika Anda ingin melakukan fungsi agregat seperti menghitung, Anda perlu mensegmentasi aliran ke unit temporal, karena aliran itu sendiri secara efektif tidak terbatas. Anda melakukan segmentasi ini dengan menggunakan fungsi jendela Analisis Streaming. Anda kemudian dapat bekerja dengan data di dalam jendela itu sebagai unit.
Untuk transformasi ini, Anda menginginkan urutan jendela temporal yang tidak tumpang tindih - setiap jendela memiliki sekumpulan data diskrit yang dapat Anda kelompokkan dan agregat. Jenis jendela ini disebut sebagai jendela Tumbling. Dalam jendela Tumbling, Anda bisa mendapatkan hitungan panggilan masuk yang dikelompokkan menurut SwitchNum, yang mewakili wilayah tempat panggilan berasal.
Tempelkan kueri berikut ini di editor kueri:
SELECT System.Timestamp as WindowEnd, SwitchNum, COUNT(*) as CallCount FROM CallStream TIMESTAMP BY CallRecTime GROUP BY TUMBLINGWINDOW(s, 5), SwitchNumKueri ini menggunakan kata kunci
Timestamp Bydalam klausulFROMuntuk menentukan bidang tanda waktu mana di aliran input yang akan digunakan untuk menentukan jendela Tumbling. Dalam hal ini, jendela membagi data menjadi segmen menurut bidangCallRecTimedi setiap rekaman. Jika Anda tidak menentukan bidang, operasi windowing menggunakan waktu setiap peristiwa tiba di pusat aktivitas. Untuk informasi selengkapnya, lihat "Waktu Kedatangan vs Waktu Aplikasi" di Referensi Bahasa Kueri Azure Stream Analytics.Proyeksi ini mencakup
System.Timestamp, yang menampilkan tanda waktu untuk akhir setiap jendela.Untuk menentukan bahwa Anda ingin menggunakan jendela Tumbling, gunakan fungsi TUMBLINGWINDOW dalam
GROUP BYklausa. Dalam fungsi, Anda menentukan unit waktu (mulai dari mikrodetik hingga sehari) dan ukuran jendela (jumlah unit). Dalam contoh ini, jendela Tumbling terdiri dari interval 5 detik, sehingga Anda mendapatkan hitungan menurut wilayah untuk setiap panggilan senilai 5 detik.Pilih Uji kueri. Dalam hasilnya, perhatikan bahwa tanda waktu di bawah WindowEnd berada dalam tahapan 5 detik.
Mendeteksi penipuan "SIM" menggunakan "self-join"
Dalam contoh ini, pertimbangkan penggunaan penipuan sebagai panggilan yang berasal dari pengguna yang sama tetapi di lokasi yang berbeda dalam waktu lima detik satu sama lain. Misalnya, pengguna yang sama tidak dapat melakukan panggilan secara sah dari AS dan Australia secara bersamaan.
Untuk memeriksa kasus-kasus ini, gunakan gabungan mandiri data streaming untuk menggabungkan aliran ke dirinya sendiri berdasarkan nilai CallRecTime. Anda kemudian dapat mencari rekaman panggilan di mana CallingIMSI nilai (nomor asal) sama, tetapi SwitchNum nilai (wilayah asal) tidak sama.
Saat Anda menggunakan join dengan data streaming, Anda harus memberikan beberapa batasan pada seberapa jauh baris yang cocok dapat dipisahkan dalam waktu. Seperti disebutkan sebelumnya, data streaming secara efektif tidak ada habisnya. Anda menentukan batas waktu untuk hubungan di dalam klausul ON menggunakan fungsi DATEDIFF. Dalam hal ini, penggabungan didasarkan pada interval lima detik dari data panggilan telepon.
Tempelkan kueri berikut ini di editor kueri:
SELECT System.Timestamp AS WindowEnd, COUNT(*) AS FraudulentCalls INTO "MyPBIoutput" FROM "CallStream" CS1 TIMESTAMP BY CallRecTime JOIN "CallStream" CS2 TIMESTAMP BY CallRecTime ON CS1.CallingIMSI = CS2.CallingIMSI AND DATEDIFF(ss, CS1, CS2) BETWEEN 1 AND 5 WHERE CS1.SwitchNum != CS2.SwitchNum GROUP BY TumblingWindow(Duration(second, 1))Kueri ini sama seperti gabungan SQL lainnya kecuali untuk fungsi
DATEDIFFdalam gabungan. VersiDATEDIFFini khusus untuk Streaming Analytics, dan harus muncul dalamON...BETWEENklausul. Parameternya adalah unit waktu (detik dalam contoh ini) dan alias dari dua sumber untuk gabungan. Ini berbeda dengan fungsi SQL standarDATEDIFF.Klausul
WHEREmencakup kondisi yang menandai panggilan penipuan: sakelar asal tidak sama.Pilih Uji kueri. Tinjau output, lalu pilih Simpan kueri.
Memulai pekerjaan dan memvisualisasikan output
Untuk memulai pekerjaan, buka Ringkasan pekerjaan dan pilih Mulai.
Pilih Sekarang untuk waktu mulai output pekerjaan dan pilih Mulai. Anda dapat melihat status pekerjaan di bilah pemberitahuan.
Setelah pekerjaan berhasil, buka Power BI dan masuk dengan akun kerja atau sekolah Anda. Jika kueri pekerjaan Azure Stream Analytics menghasilkan hasil, himpunan data ASAdataset yang Anda buat akan muncul di bawah tab Himpunan Data.
Dari ruang kerja Power BI Anda, pilih + Buat untuk membuat dasbor baru bernama Panggilan Penipuan.
Di bagian atas jendela, pilih Edit dan Tambahkan petak peta.
Di jendela Tambahkan Tile, pilih Streaming Data Kustom dan Berikutnya.
Pilih ASAdataset di bawah Himpunan Data Anda, dan pilih Berikutnya.
Pilih Kartu dari menu dropdown Tipe Visualisasi, tambahkan panggilan penipuan ke Bidang, lalu pilih Berikutnya.
Masukkan nama untuk tile (misalnya, Panggilan penipuan), lalu pilih Terapan untuk membuat tile.
Ikuti langkah 5 lagi dengan opsi berikut:
- Saat Anda sampai di tahap Jenis Visualisasi, pilih Bagan garis.
- Tambahkan sumbu dan pilih windowend.
- Tambahkan nilai dan pilih panggilan penipuan.
- Untuk Jendela waktu yang akan ditampilkan, pilih 10 menit terakhir.
Dasbor Anda terlihat seperti contoh berikut setelah kedua elemen ditambahkan. Jika aplikasi pengirim pusat aktivitas dan aplikasi Streaming Analytics Anda berjalan, dasbor Power BI Anda akan diperbarui secara berkala saat data baru tiba.
Menyematkan Dasbor Power BI Anda di Aplikasi Web
Untuk bagian tutorial ini, gunakan sampel ASP.NET aplikasi web yang dibuat oleh tim Power BI untuk menyematkan dasbor Anda. Untuk informasi selengkapnya tentang menyematkan dasbor, lihat artikel menyematkan dengan Power BI .
Untuk menyiapkan aplikasi, buka repositori GitHub Power BI-Developer-Samples dan ikuti instruksi di bawah bagian Data Milik Pengguna (gunakan URL pengalihan dan beranda di bawah subbagian integrate-web-app ). Karena Anda menggunakan contoh Dasbor, gunakan kode sampel integrate-web-app yang terletak di repositori GitHub. Setelah Anda menjalankan aplikasi di browser Anda, ikuti langkah-langkah ini untuk menyematkan dasbor yang Anda buat sebelumnya ke halaman web:
Pilih Masuk ke Power BI, yang memberikan aplikasi akses ke dasbor di akun Power BI Anda.
Pilih tombol Dapatkan Dasbor, yang menampilkan Dasbor akun Anda dalam tabel. Temukan nama dasbor yang Anda buat sebelumnya, powerbi-embedded-dashboard, dan salin EmbedUrl yang sesuai.
Terakhir, tempelkan EmbedUrl ke bidang teks yang sesuai dan pilih Sematkan Dasbor. Sekarang Anda dapat melihat dasbor yang sama yang disematkan dalam aplikasi web.
Langkah berikutnya
Dalam tutorial ini, Anda membuat pekerjaan Azure Stream Analytics sederhana, menganalisis data masuk, dan menyajikan hasil dalam dasbor Power BI. Untuk mempelajari selengkapnya tentang pekerjaan Azure Stream Analytics, lanjutkan ke tutorial berikutnya: