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.
Pekerjaan Azure Stream Analytics terdiri dari input, kueri, dan output. Anda dapat mengirim data yang diubah ke beberapa jenis output. Artikel ini mencantumkan output Azure Stream Analytics yang didukung. Saat Anda merancang kueri Stream Analytics, rujuk nama output dengan klausa INTO. Anda dapat menggunakan satu output per pekerjaan, atau beberapa output per pekerjaan streaming dengan menambahkan beberapa klausa INTO ke kueri.
Untuk membuat, mengedit, dan menguji output pekerjaan Azure Stream Analytics, Anda dapat menggunakan portal Microsoft Azure, Azure PowerShell, .NET API, REST API, Visual Studio, dan Visual Studio Code.
Nota
Untuk pengalaman pengembangan lokal terbaik, gunakan alat Azure Stream Analytics untuk Visual Studio Code. Alat Azure Stream Analytics untuk Visual Studio 2019 (versi 2.6.3000.0) memiliki kesenjangan fitur yang diketahui dan tidak akan ditingkatkan lagi ke depannya.
Beberapa jenis output mendukung pemartisian seperti yang ditunjukkan dalam tabel berikut.
Semua output mendukung batching, tetapi hanya beberapa dukungan yang mengatur ukuran batch output secara eksplisit. Untuk informasi selengkapnya, lihat bagian ukuran batch keluaran.
| Jenis output | Partitioning | Keamanan |
|---|---|---|
| Azure Data Explorer | Yes | Identitas yang Dikelola |
| Azure Functions | Yes | Kunci akses |
| Azure Synapse Analytics | Yes | Autentikasi pengguna SQL, Identitas Terkelola |
| Penyimpanan blob dan Azure Data Lake Gen 2 | Yes | Kunci akses, Identitas Terkelola |
| Azure Cosmos DB | Yes | Kunci akses, Identitas Terkelola |
| Azure Data Lake Storage Gen 2 | Yes | Identitas Terkelola pengguna Microsoft Entra |
| Azure Event Hubs | Ya, perlu mengatur kolom kunci partisi dalam konfigurasi output. | Kunci akses, Identitas Terkelola |
| Kafka (pratinjau) | Ya, perlu mengatur kolom kunci partisi dalam konfigurasi output. | Kunci akses, Identitas Terkelola |
| Azure Database for PostgreSQL | Yes | Autentikasi nama pengguna dan kata sandi |
| Power BI | Tidak. | Pengguna Microsoft Entra, Identitas Terkelola |
| Antrean Azure Service Bus | Yes | Kunci akses, Identitas Terkelola |
| Topik Azure Service Bus | Yes | Kunci akses, Identitas Terkelola |
| Azure SQL Database | Ya, opsional. | Autentikasi pengguna SQL, Identitas Terkelola |
| Azure Table Storage | Yes | Kunci akun |
Penting
Azure Stream Analytics menggunakan Insert atau Replace API berdasarkan desain. Operasi ini menggantikan entitas yang ada atau menyisipkan entitas baru jika tidak ada dalam tabel.
Partitioning
Azure Stream Analytics mendukung partisi untuk semua output kecuali untuk Power BI. Untuk informasi selengkapnya tentang kunci partisi dan jumlah penulis output, lihat artikel untuk jenis output tertentu yang Anda minati. Artikel untuk jenis output ditautkan di bagian sebelumnya.
Untuk penyetelan partisi yang lebih canggih, Anda dapat mengontrol jumlah penulis output dengan menggunakan INTO <partition count> klausa (lihat INTO) dalam kueri Anda. Kontrol ini dapat membantu Anda mencapai topologi pekerjaan yang diinginkan. Jika adaptor keluaran Anda tidak dipartisi, kurangnya data pada satu partisi input dapat menyebabkan penundaan hingga dampak waktu kedatangan terlambat. Dalam kasus seperti itu, output digabungkan ke satu penulis, yang dapat menyebabkan hambatan dalam alur Anda. Untuk mempelajari lebih lanjut tentang kebijakan kedatangan terlambat, lihat Pertimbangan urutan peristiwa Azure Stream Analytics.
Ukuran output batch
Semua output mendukung batching, tetapi hanya beberapa dukungan yang mengatur ukuran batch secara eksplisit. Azure Stream Analytics menggunakan batch ukuran variabel untuk memproses peristiwa dan menulis ke output. Biasanya, mesin Stream Analytics tidak menulis satu pesan pada satu waktu dan menggunakan batch untuk efisiensi. Saat tingkat peristiwa masuk dan keluar tinggi, Azure Stream Analytics menggunakan batch yang lebih besar. Ketika laju keluaran rendah, sistem menggunakan batch yang lebih kecil untuk menjaga latensi tetap rendah.
Perilaku pemisahan file Avro dan Parquet
Kueri Azure Stream Analytics dapat menghasilkan beberapa skema untuk output tertentu. Daftar kolom yang diproyeksikan, dan jenisnya, dapat berubah berdasarkan baris demi baris. Secara desain, format Avro dan Parquet tidak mendukung skema variabel dalam satu file.
Perilaku berikut mungkin terjadi saat mengarahkan aliran dengan skema variabel ke output menggunakan format ini:
- Jika perubahan skema dapat dideteksi, file output saat ini ditutup, dan yang baru diinisialisasi pada skema baru. Memisahkan file seperti itu sangat memperlambat output ketika perubahan skema sering terjadi. Perilaku ini dapat sangat berdampak pada performa keseluruhan pekerjaan.
- Jika perubahan skema tidak dapat dideteksi, baris kemungkinan besar ditolak, dan pekerjaan macet karena baris tidak dapat dihasilkan. Kolom berlapis, atau array multijenis, adalah situasi yang tidak ditemukan dan ditolak.
Pertimbangkan output yang menggunakan format Avro atau Parquet untuk bertipe kuat, atau menggunakan skema-on-write, dan tuliskan kueri yang menargetkannya dengan menggunakan konversi dan proyeksi eksplisit untuk skema seragam.
Jika Anda perlu membuat beberapa skema, pertimbangkan untuk membuat beberapa output dan memisahkan rekaman ke setiap tujuan dengan menggunakan WHERE klausa.
Properti jendela pemrosesan batch output Parquet
Saat Anda menggunakan penyebaran templat Azure Resource Manager atau REST API, Anda mengatur dua properti jendela batching:
timeWindow
Waktu tunggu maksimum per batch. Tetapkan nilai sebagai teks dari
Timespan. Misalnya, gunakan00:02:00selama dua menit. Setelah waktu ini, batch ditulis ke output bahkan jika jumlah baris minimum tidak terpenuhi. Nilai default adalah satu menit dan maksimum yang diizinkan adalah dua jam. Jika output blob Anda memiliki frekuensi pola jalur, waktu tunggu tidak boleh lebih tinggi dari rentang waktu partisi.sizeWindow
Jumlah minimal baris per batch. Untuk Parket, setiap batch membuat file baru. Nilai default saat ini adalah 2.000 baris dan maksimum yang diizinkan adalah 10.000 baris.
API versi 2017-04-01-preview atau yang lebih tinggi mendukung properti jendela batching ini. Berikut adalah contoh payload JSON untuk panggilan REST API:
"type": "stream",
"serialization": {
"type": "Parquet",
"properties": {}
},
"timeWindow": "00:02:00",
"sizeWindow": "2000",
"datasource": {
"type": "Microsoft.Storage/Blob",
"properties": {
"storageAccounts" : [
{
"accountName": "{accountName}",
"accountKey": "{accountKey}",
}
],