Konfigurasikan destinasi output untuk dataset yang dihasilkan oleh tugas transformasi data (versi baru), termasuk perutean dinamis ke proyek atau Logstore serta penugasan kunci hash tingkat shard.
Ikhtisar dataset
Tugas transformasi data (versi baru) mereferensikan dataset yang didefinisikan dalam aturan SPL dan menuliskannya ke satu atau beberapa target output. Dataset bernama direferensikan berdasarkan namanya, sedangkan dataset tanpa nama menggunakan pengenal __UNNAMED__. Untuk informasi lebih lanjut mengenai definisi dataset dalam sintaks SPL Simple Log Service, lihat General Reference.
Contoh
Pada contoh ini, tugas transformasi data menghasilkan dua dataset: valid dan __UNNAMED__.
-- Output dataset tanpa nama __UNNAMED__
*
| where mode is null;
-- Definisikan dataset bernama src, jangan output
.let src = *
| where mode is not null;
-- Definisikan dataset valid, jangan output
.let valid = $src
| where mode = 'a'
| parse-regexp content, '(\S+)\s+(\S+)\s+(\S+)' as x, y, z
| project x, y, z;
-- Output dataset bernama valid
$valid;
-- Output dataset tanpa nama __UNNAMED__
$src
| where mode = 'b'
| parse-csv content as u, v
| project u, v;
Output dinamis ke proyek atau Logstore
Anda dapat menggunakan aturan SPL untuk melakukan perutean dinamis output ke proyek atau Logstore tertentu. Bidang terpesan berikut mengontrol perutean dinamis:
|
Bidang yang Dicadangkan |
Deskripsi |
|
|
Menentukan proyek tujuan untuk output dinamis. |
|
|
Menentukan Logstore tujuan untuk output dinamis. Peringatan
Jangan mengonfigurasi store tujuan sebagai store sumber saat ini (konfigurasi sumber yang sama). Jika tidak, log dapat ditulis secara berulang-ulang, sehingga menimbulkan biaya penyimpanan dan traffic tambahan. Anda bertanggung jawab atas konsumsi resource dan biaya yang timbul. |
Contoh
-
Contoh 1: Tentukan proyek tujuan untuk hasil transformasi data sebagai nilai dari bidang
dst_project.| extend "__tag__:__sls_etl_output_project__"=dst_project -
Contoh 2: Tentukan Logstore tujuan untuk hasil transformasi data sebagai string hasil penggabungan.
| extend "__tag__:__sls_etl_output_logstore__"=concat('log-', cast(status as VARCHAR))
Tentukan kunci hash untuk output
Anda dapat menggunakan aturan SPL untuk menentukan kunci hash yang mengarahkan hasil transformasi data ke shard tertentu dalam Logstore. Untuk informasi lebih lanjut mengenai perutean shard dengan kunci hash, lihat Write Logs.
__tag__:__sls_etl_output_hash_key__: Kunci hash yang digunakan untuk mengarahkan output ke shard tertentu di Logstore tujuan.
Contoh: Batasi rentang hash (direkomendasikan untuk lingkungan produksi)
Di lingkungan produksi, untuk menyesuaikan jumlah partisi konsumsi downstream tetap (misalnya 256 atau 1.024), kami merekomendasikan agar Anda memotong nilai hash dan menambahkannya dengan sufiks tetap guna mengonvergensikan kunci hash ke rentang tertentu.
Skenario: Konvergen ke 256 titik jangkar shard tetap
Potong hash MD5 hingga dua karakter pertama dan isi 30 karakter sisanya dengan nol. Hal ini memastikan data selalu ditulis ke 256 batas hash tetap terlepas dari volumenya, sehingga mempermudah pemrosesan agregat dalam transformasi data dan meningkatkan efisiensi pemrosesan data.
| extend "__tag__:__sls_etl_output_hash_key__" = concat(substring(to_hex(md5(to_utf8(field))), 1, 2), '000000000000000000000000000000')