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.
Data referensi adalah dataset statis atau yang berubah perlahan yang Anda gabungkan dengan data streaming Anda untuk memperkayanya, seperti menambahkan detail produk ke dalam rangkaian acara penjualan. Azure Stream Analytics mendukung Azure SQL Database sebagai sumber data referensi, sehingga Anda dapat mencari dan menggabungkan data ini dengan input real-time Anda.
Artikel ini menunjukkan cara mengonfigurasi Azure SQL Database sebagai input data referensi untuk pekerjaan Stream Analytics, dengan menggunakan portal Azure dan Visual Studio dengan alat Stream Analytics.
Tambahkan data referensi SQL Database menggunakan portal Azure
Gunakan langkah-langkah berikut untuk menambahkan Azure SQL Database sebagai sumber input referensi menggunakan portal Azure:
Prasyarat portal
Buat job Stream Analytics.
Buat akun penyimpanan untuk pekerjaan Stream Analytics yang akan digunakan.
Penting
Azure Stream Analytics menyimpan snapshot dalam akun penyimpanan ini. Saat Anda mengonfigurasi kebijakan retensi, pastikan rentang waktu yang dipilih mencakup durasi pemulihan yang Anda inginkan untuk pekerjaan Stream Analytics Anda.
Buat Azure SQL Database Anda dengan dataset yang digunakan oleh job Stream Analytics sebagai data referensi.
Tentukan input data referensi SQL Database
Dalam pekerjaan Stream Analytics Anda, pilih Masukan di bawah Topologi pekerjaan. Pilih Tambah input referensi, lalu pilih SQL Database.
Isi konfigurasi input Stream Analytics. Pilih nama database, nama server, dan kredensial masuk untuk database. Untuk menyegarkan input data referensi Anda secara berkala, pilih Aktif dan tentukan laju penyegaran di DD:HH:MM. Untuk dataset besar dengan refresh rate pendek, delta query melacak perubahan dalam data referensi Anda dengan mengambil semua baris di SQL Database yang dimasukkan atau dihapus antara waktu mulai,
@deltaStartTime, dan waktu akhir,@deltaEndTime.Untuk informasi lebih lanjut, lihat kueri delta.
Uji kueri snapshot di editor kueri SQL. Untuk informasi lebih lanjut, lihat Gunakan editor kueri SQL portal Azure untuk menghubungkan dan melakukan query data.
Tentukan akun penyimpanan dalam konfigurasi pekerjaan
Buka pengaturan akun Storage di bawah Konfigurasi, lalu pilih Tambah akun penyimpanan.
Mulai pekerjaan
- Setelah Anda mengonfigurasi input, output, dan query lainnya, mulai pekerjaan Stream Analytics.
Tambahkan data referensi SQL Database menggunakan Visual Studio
Gunakan langkah-langkah berikut untuk menambahkan Azure SQL Database sebagai sumber input referensi menggunakan Visual Studio:
Prasyarat Visual Studio
Menginstal alat Analisis Aliran untuk Visual Studio. Alat Stream Analytics mendukung versi Visual Studio berikut:
- Visual Studio 2015
- Visual Studio 2019
Kenali panduan mulai cepat Stream Analytics Tools for Visual Studio.
Membuat akun penyimpanan.
Penting
Azure Stream Analytics menyimpan snapshot dalam akun penyimpanan ini. Saat Anda mengonfigurasi kebijakan retensi, pastikan rentang waktu yang dipilih mencakup durasi pemulihan yang Anda inginkan untuk pekerjaan Stream Analytics Anda.
Membuat tabel SQL Database
Gunakan SQL Server Management Studio untuk membuat tabel untuk menyimpan data referensi Anda. Lihat Merancang Azure SQL Database pertama Anda menggunakan SQL Server Management Studio untuk detailnya.
Pernyataan berikut membuat tabel contoh:
create table chemicals(Id Bigint,Name Nvarchar(max),FullName Nvarchar(max));
Memilih langganan Anda
Di Visual Studio, pada menu Tampilan, pilih Penjelajah Server.
Pilih dan tahan (atau klik kanan) Azure, pilih Hubungkan ke Langganan Microsoft Azure, dan masuk dengan akun Azure Anda.
Membuat proyek Analisis Aliran
Pilih File>Proyek Baru.
Di daftar template, pilih Stream Analytics, lalu pilih Azure Stream Analytics Application.
Masukkan Nama proyek, Lokasi, dan nama Solusi, lalu pilih OK.
Tentukan input data referensi SQL Database
Buat input baru.
Buka Input.json di Penjelajah Solusi.
Isi Konfigurasi Input Stream Analytics. Masukkan nama database, nama server, tipe penyegaran, dan tingkat penyegaran. Tentukan laju refresh dalam format
DD:HH:MM.
Jika Anda memilih Execute only once atau Execute periodically, Visual Studio menghasilkan satu file SQL CodeBehind bernama [Input Alias].snapshot.sql di proyek di bawah node file Input.json.
Jika Anda memilih Segarkan Secara Berkala dengan Delta, Visual Studio menghasilkan dua file SQL CodeBehind: [Input Alias].snapshot.sql dan [Input Alias].delta.sql.
Buka file SQL di editor dan tulis kueri SQL.
Jika Anda menggunakan Visual Studio 2019 dan telah menginstal SQL Server Data Tools, Anda dapat menguji kueri dengan memilih Execute. Wizard akan terbuka untuk membantu Anda terhubung ke SQL Database, dan hasil kueri akan muncul di jendela di bagian bawah.
Menentukan akun penyimpanan
Buka JobConfig.json untuk menentukan akun penyimpanan yang akan menyimpan snapshot referensi SQL.
Menguji secara lokal dan menyebarkan ke Azure
Sebelum Anda menerapkan pekerjaan ke Azure, Anda dapat menguji logika kueri secara lokal terhadap data input langsung. Untuk informasi lebih lanjut tentang fitur ini, lihat Uji data langsung secara lokal menggunakan alat Azure Stream Analytics untuk Visual Studio (Pratinjau). Setelah selesai pengujian, pilih Submit to Azure. Untuk mempelajari cara memulai pekerjaan, lihat pekerjaan Buat Stream Analytics dengan menggunakan alat Azure Stream Analytics untuk Visual Studio quickstart.
Delta query
Saat Anda menggunakan kueri delta, gunakan tabel temporal di Azure SQL Database.
Buat tabel temporal di Azure SQL Database.
CREATE TABLE DeviceTemporal ( [DeviceId] int NOT NULL PRIMARY KEY CLUSTERED , [GroupDeviceId] nvarchar(100) NOT NULL , [Description] nvarchar(100) NOT NULL , [ValidFrom] datetime2 (0) GENERATED ALWAYS AS ROW START , [ValidTo] datetime2 (0) GENERATED ALWAYS AS ROW END , PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo) ) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.DeviceHistory)); -- DeviceHistory table will be used in Delta queryTulis kueri snapshot.
Gunakan parameter @snapshotTime untuk menginstruksikan runtime Stream Analytics agar mendapatkan dataset referensi dari tabel temporal SQL Database yang valid pada waktu sistem. Jika Anda tidak menyediakan parameter ini, Anda berisiko mendapatkan dataset referensi dasar yang tidak akurat akibat perbedaan jam. Contoh berikut menunjukkan kueri snapshot lengkap:
SELECT DeviceId, GroupDeviceId, [Description] FROM dbo.DeviceTemporal FOR SYSTEM_TIME AS OF @snapshotTimeBuat kueri delta.
Kueri ini mengambil semua baris di SQL Database yang dimasukkan atau dihapus dalam waktu mulai, @deltaStartTime, dan waktu akhir, @deltaEndTime. Kueri delta harus mengembalikan kolom yang sama seperti kueri rekam jepret, serta kolom operasi. Kolom ini menentukan apakah baris dimasukkan atau dihapus antara @deltaStartTime dan @deltaEndTime. Baris yang dihasilkan ditandai sebagai 1 jika record ditambahkan, atau 2 jika dihapus. Kueri juga harus menambahkan watermark di sisi SQL Server untuk memastikan semua pembaruan dalam periode delta tercatat dengan tepat. Menggunakan kueri delta tanpa watermark dapat menghasilkan dataset referensi yang salah.
Untuk rekaman yang diperbarui, tabel temporal melakukan pembukuan dengan menangkap operasi penyisipan dan penghapusan. Runtime Stream Analytics kemudian menerapkan hasil kueri delta ke snapshot sebelumnya untuk menjaga data referensi tetap terbaru. Contoh berikut menunjukkan kueri delta:
SELECT DeviceId, GroupDeviceId, Description, ValidFrom as _watermark_, 1 as _operation_ FROM dbo.DeviceTemporal WHERE ValidFrom BETWEEN @deltaStartTime AND @deltaEndTime -- records inserted UNION SELECT DeviceId, GroupDeviceId, Description, ValidTo as _watermark_, 2 as _operation_ FROM dbo.DeviceHistory -- table we created in step 1 WHERE ValidTo BETWEEN @deltaStartTime AND @deltaEndTime -- record deletedRuntime Stream Analytics mungkin secara berkala menjalankan kueri snapshot selain kueri delta untuk menyimpan titik pemeriksaan.
Penting
Saat Anda menggunakan kueri delta data referensi, jangan lakukan pembaruan identik pada tabel data referensi temporal berulang kali. Ini bisa menghasilkan hasil yang salah. Berikut contoh yang mungkin menyebabkan data referensi menghasilkan hasil yang salah:
UPDATE myTable SET VALUE=2 WHERE ID = 1; UPDATE myTable SET VALUE=2 WHERE ID = 1;Contoh yang benar:
UPDATE myTable SET VALUE = 2 WHERE ID = 1 and not exists (select * from myTable where ID = 1 and value = 2);Kondisi ini memastikan tidak ada pembaruan duplikat yang terjadi.
Menguji kueri Anda
Verifikasi bahwa kueri Anda mengembalikan dataset yang diharapkan yang digunakan oleh pekerjaan Stream Analytics sebagai data referensi. Untuk menguji kueri Anda, buka Input di bagian Topologi Pekerjaan di portal. Kemudian pilih Contoh data pada input referensi SQL Database Anda. Setelah sampel tersedia, Anda dapat mengunduh file dan memeriksa apakah data yang dikembalikan sesuai harapan. Untuk mengoptimalkan pengembangan dan iterasi pengujian Anda, gunakan alat Stream Analytics untuk Visual Studio. Anda juga dapat menggunakan alat lain yang Anda sukai untuk memastikan kueri mengembalikan hasil yang benar dari Azure SQL Database Anda, lalu menggunakan kueri tersebut dalam pekerjaan Stream Analytics Anda.
Menguji kueri Anda dengan Visual Studio Code
Instal Alat Azure Stream Analytics dan SQL Server (mssql) di Visual Studio Code dan siapkan proyek ASA Anda. Untuk informasi selengkapnya, lihat Mulai Cepat: Membuat pekerjaan Azure Stream Analytics di Visual Studio Code dan tutorial ekstensi SQL Server (mssql).
Konfigurasikan input data referensi SQL Anda.
Pilih ikon SQL Server dan pilih Tambah Koneksi.
Isi informasi koneksi.
Pilih dan tahan (atau klik kanan) di SQL referensi lalu pilih Jalankan Kueri.
Pilih koneksi Anda.
Tinjau dan verifikasi hasil kueri Anda.
Tanya Jawab Umum
Apakah saya akan mengeluarkan biaya tambahan dengan menggunakan input data referensi SQL di Azure Stream Analytics?
Tidak ada biaya tambahan per unit streaming di pekerjaan Stream Analytics. Namun, pekerjaan Analisis Aliran harus memiliki akun penyimpanan Azure terkait. Pekerjaan Stream Analytics melakukan query ke SQL Database (selama interval mulai dan refresh pekerjaan) untuk mengambil dataset referensi dan menyimpan snapshot tersebut di akun penyimpanan. Menyimpan snapshot ini menimbulkan biaya tambahan yang dijelaskan di halaman harga untuk akun penyimpanan Azure.
Bagaimana saya tahu apakah snapshot data referensi sedang diquery dari SQL Database dan digunakan dalam pekerjaan Azure Stream Analytics?
Dua metrik, yang difilter berdasarkan Nama Logis (di bawah Metrik di portal Azure), memungkinkan Anda memantau kesehatan input data referensi SQL Database.
- InputEvents: Metrik ini mengukur jumlah catatan yang dimuat dari dataset referensi SQL Database.
- InputEventBytes: Metrik ini mengukur ukuran rekam jepret data referensi yang dimuat dalam memori pekerjaan Analisis Aliran.
Bersama-sama, kedua metrik menunjukkan apakah pekerjaan melakukan query SQL Database untuk mengambil dataset referensi lalu memuatnya ke memori.
Apakah saya membutuhkan jenis khusus Azure SQL Database?
Azure Stream Analytics bekerja dengan berbagai jenis Azure SQL Database. Namun, refresh rate yang Anda tetapkan untuk input data referensi Anda mungkin memengaruhi beban kueri Anda. Untuk menggunakan opsi kueri delta, gunakan tabel temporal di Azure SQL Database.
Mengapa Azure Stream Analytics menyimpan snapshot di akun Azure Storage?
Stream Analytics menjamin pemrosesan peristiwa tepat satu kali dan pengiriman peristiwa setidaknya satu kali. Jika masalah sementara memengaruhi pekerjaan Anda, diperlukan sedikit replay untuk mengembalikan status. Untuk mengaktifkan replay, snapshot ini harus disimpan di akun Azure Storage. Untuk informasi lebih lanjut tentang pemutaran ulang checkpoint, lihat Konsep checkpoint dan pemutaran ulang dalam pekerjaan Azure Stream Analytics.
Konten terkait
- Pahami output dari Azure Stream Analytics
- Output Azure Stream Analytics ke Azure SQL Database
- Meningkatkan performa throughput ke Azure SQL Database dari Azure Stream Analytics
- Menggunakan identitas terkelola untuk mengakses Azure SQL Database atau Azure Synapse Analytics dari pekerjaan Azure Stream Analytics
- Memperbarui atau menggabungkan rekaman dalam Azure SQL Database dengan Azure Functions
- Mulai Cepat: Membuat pekerjaan Azure Stream Analytics dengan menggunakan portal Microsoft Azure