Gambaran umum ekspor data berkelanjutan

Beralih layanan menggunakan daftar drop-down Versi . Pelajari selengkapnya tentang navigasi.
Berlaku untuk: ✅ Microsoft Fabric ✅ Azure Data Explorer

Artikel ini menjelaskan ekspor data berkelanjutan dari Kusto ke tabel eksternal dengan kueri yang dijalankan secara berkala. Hasilnya disimpan dalam tabel eksternal, yang menentukan tujuan, seperti Azure Blob Storage, dan skema data yang diekspor. Proses ini menjamin bahwa semua catatan diekspor "satu kali", dengan beberapa pengecualian.

Secara default, ekspor berkelanjutan berjalan dalam mode terdistribusi, di mana semua simpul mengekspor secara bersamaan, sehingga jumlah artefak tergantung pada jumlah simpul. Ekspor berkelanjutan tidak dirancang untuk data streaming latensi rendah.

Untuk mengaktifkan ekspor data berkelanjutan, buat tabel eksternal lalu buat definisi ekspor berkelanjutan yang mengarah ke tabel eksternal.

Dalam beberapa kasus, Anda harus menggunakan identitas terkelola untuk berhasil mengonfigurasi pekerjaan ekspor berkelanjutan. Untuk informasi selengkapnya, lihat Menggunakan identitas terkelola untuk menjalankan pekerjaan ekspor berkelanjutan.

Izin

Semua perintah ekspor berkelanjutan memerlukan setidaknya izin Admin Database.

Pedoman ekspor berkelanjutan

  • Skema output:

    • Skema output kueri dari ekspor harus sesuai dengan skema tabel eksternal yang menjadi tujuan ekspor Anda.
  • Frekuensi:

    • Ekspor berkelanjutan berjalan sesuai dengan jangka waktu yang dikonfigurasi untuk ekspor tersebut dalam properti intervalBetweenRuns. Nilai yang direkomendasikan untuk interval ini setidaknya beberapa menit, bergantung pada latensi yang ingin Anda terima. Interval waktu bisa ditetapkan paling rendah satu menit, jika tingkat penyerapan tinggi.

      Catatan

      intervalBetweenRuns ini hanyalah rekomendasi, dan tidak dijamin tepat. Ekspor berkelanjutan tidak cocok untuk mengekspor agregasi yang berkala. Misalnya, konfigurasi intervalBetweenRuns=1h dengan agregasi per jam (T | summarize by bin(Timestamp, 1h)) tidak akan berfungsi seperti yang diharapkan, karena ekspor berkelanjutan tidak akan berjalan tepat sesuai dengan jam. Oleh karena itu, setiap bin per jam akan menerima beberapa entri dalam data yang diekspor.

  • Jumlah file:

    • Jumlah file yang diekspor dalam setiap iterasi ekspor berkelanjutan bergantung pada cara pemartisian tabel eksternal. Untuk informasi selengkapnya, lihat perintah ekspor ke tabel eksternal. Setiap iterasi ekspor berkelanjutan selalu menulis ke file baru, dan tidak pernah menambahkan ke file yang sudah ada. Akibatnya, jumlah file yang diekspor juga bergantung pada frekuensi dalam menjalankan ekspor berkelanjutan. Parameter frekuensinya adalah intervalBetweenRuns.
  • Akun penyimpanan tabel eksternal:

    • Untuk performa terbaik, database dan akun penyimpanan harus dikolokasikan di wilayah Azure yang sama.
    • Ekspor berkelanjutan bekerja secara terdistribusi, sehingga semua simpul mengekspor secara bersamaan. Pada database besar, dan jika volume data yang diekspor besar, ini mungkin menyebabkan pembatasan penyimpanan. Rekomendasinya adalah mengonfigurasi beberapa akun penyimpanan untuk tabel eksternal. Untuk informasi selengkapnya, lihat kegagalan penyimpanan selama perintah ekspor.

Ekspor tepat satu kali

Untuk menjamin ekspor "tepat satu kali", ekspor berkelanjutan menggunakan kursor database. Kueri ekspor berkelanjutan tidak boleh menyertakan filter stempel waktu - mekanisme kursor database memastikan bahwa catatan tidak diproses lebih dari sekali. Penambahan filter stempel waktu dalam kueri dapat menyebabkan hilangnya data dalam data yang diekspor.

Kebijakan IngestionTime harus diaktifkan pada semua tabel yang direferensikan dalam kueri yang harus diproses "tepat satu kali" dalam ekspornya. Kebijakan tersebut diaktifkan secara default pada semua tabel yang baru dibuat.

Jaminan untuk ekspor "tepat sekali" hanya untuk file yang dilaporkan dalam perintah tampilkan artefak yang diekspor. Ekspor berkelanjutan tidak menjamin bahwa setiap rekaman hanya ditulis sekali ke tabel eksternal. Jika kegagalan terjadi setelah ekspor dimulai dan beberapa artefak sudah ditulis ke tabel eksternal, tabel eksternal mungkin berisi duplikat. Jika operasi tulis dibatalkan sebelum penyelesaian, tabel eksternal mungkin berisi file yang rusak. Dalam kasus seperti itu, artefak tidak dihapus dari tabel eksternal, tetapi tidak dilaporkan dalam memperlihatkan perintah artefak yang diekspor. Pemakaian file yang diekspor menggunakan show exported artifacts command akan menjamin bahwa tidak ada duplikasi dan tidak ada kerusakan.

Mengekspor dari tabel dimensi dan fakta

Secara default, semua tabel yang direferensikan dalam kueri ekspor dianggap sebagai tabel fakta. Dengan demikian, tabel tersebut dicakup ke kursor database. Sintaks secara eksplisit menjelaskan tabel mana yang dicakup (fakta) dan mana yang tidak dicakup (dimensi). Lihat parameter over dalam perintah buat untuk mengetahui detailnya.

Kueri ekspor hanya menyertakan catatan yang digabungkan sejak eksekusi ekspor sebelumnya. Kueri ekspor mungkin berisi tabel dimensi di mana semua rekaman tabel dimensi disertakan dalam semua kueri ekspor. Saat menggunakan gabungan antara tabel fakta dan dimensi dalam ekspor berkelanjutan, perlu diingat bahwa catatan dalam tabel fakta hanya diproses sekali. Jika ekspor berjalan saat rekaman dalam tabel dimensi hilang untuk beberapa kunci, rekaman untuk kunci masing-masing terlewatkan atau menyertakan nilai null untuk kolom dimensi dalam file yang diekspor. Menampilkan catatan yang hilang atau bernilai nol bergantung pada apakah kueri menggunakan gabungan dalam atau luar. Properti forcedLatency dalam definisi ekspor berkelanjutan dapat berguna dalam kasus seperti itu, ketika tabel fakta dan dimensi diserap dalam kurun waktu yang sama untuk mencocokkan catatan.

Catatan

Ekspor berkelanjutan khusus tabel dimensi tidak didukung. Kueri ekspor harus menyertakan setidaknya satu tabel fakta.

Memantau ekspor berkelanjutan

Pantau status pekerjaan ekspor berkelanjutan Anda menggunakan metrik ekspor berikut:

  • Continuous export max lateness - Keterlambatan maksimum (dalam menit) ekspor berkelanjutan dalam database. Ini adalah waktu antara sekarang dan waktu min ExportedTo dari semua pekerjaan ekspor berkelanjutan dalam database. Untuk informasi selengkapnya, lihat perintah .show continuous export.
  • Continuous export result - Hasil gagal/berhasil dari setiap eksekusi ekspor berkelanjutan. Metrik ini dapat dibagi berdasarkan nama ekspor berkelanjutan.

Gunakan perintah .show continuous export failures untuk melihat kegagalan tertentu terkait pekerjaan ekspor berkelanjutan.

Peringatan

Jika ekspor terus menerus gagal selama lebih dari 7 hari karena kegagalan permanen, ekspor tersebut akan otomatis dinonaktifkan oleh sistem. Kesalahan permanen mencakup: tabel eksternal tidak ditemukan, ketidakcocokan antara skema kueri ekspor berkelanjutan dan skema tabel eksternal, akun penyimpanan tidak dapat diakses. Setelah kesalahan diperbaiki, Anda dapat mengaktifkan kembali ekspor berkelanjutan menggunakan perintah .enable continuous export.

Pemakaian sumber daya

  • Dampak ekspor berkelanjutan pada database bergantung pada kueri yang dijalankan ekspor berkelanjutan. Sebagian besar sumber daya, seperti CPU dan memori, dipakai oleh eksekusi kueri.
  • Jumlah operasi ekspor yang dapat berjalan secara bersamaan dibatasi oleh kapasitas ekspor data database.
    Untuk informasi selengkapnya, lihat Pembatasan perintah manajemen.
    Jika database tidak memiliki kapasitas yang memadai untuk menangani semua ekspor berkelanjutan, beberapa mulai tertinggal.
  • Perintah tampilkan dan perintah kueri dapat digunakan untuk memperkirakan pemakaian sumber daya.
    • Filter | where ClientActivityId startswith "RunContinuousExports" untuk melihat perintah dan kueri yang terkait dengan ekspor berkelanjutan.

Mengekspor data historis

Ekspor berkelanjutan hanya mulai mengekspor data dari titik pembuatannya. Catatan yang diserap sebelum waktu tersebut harus diekspor secara terpisah menggunakan perintah ekspor yang tidak berkelanjutan. Data historis mungkin terlalu besar untuk diekspor dalam satu perintah ekspor. Jika perlu, partisikan kueri menjadi beberapa batch yang lebih kecil.

Untuk menghindari duplikat dengan data yang diekspor oleh ekspor berkelanjutan, gunakan StartCursor yang ditampilkan oleh perintah tampilkan ekspor berkelanjutan dan ekspor hanya mencatat where cursor_before_or_at nilai kursornya. Contohnya:

.show continuous-export MyExport | project StartCursor
StartCursor
636751928823156645

Diikuti oleh:

.export async to table ExternalBlob
<| T | where cursor_before_or_at("636751928823156645")

Ekspor berkelanjutan dari tabel dengan Keamanan Tingkat Baris

Untuk membuat pekerjaan ekspor berkelanjutan dengan kueri yang mereferensikan tabel dengan kebijakan keamanan tingkat baris, Anda harus:

  • Gunakan autentikasi peniruan identitas untuk tabel eksternal tempat data diekspor.

Ekspor berkelanjutan ke tabel delta

Penting

Pemartisian tabel Delta tidak didukung dalam ekspor data berkelanjutan.

Kusto tidak akan menulis ke tabel delta yang ada jika versi penulis protokol delta lebih tinggi dari 1.

Untuk menentukan ekspor berkelanjutan ke tabel delta, lakukan langkah-langkah berikut:

  1. Buat tabel delta eksternal, seperti yang dijelaskan dalam Membuat dan mengubah tabel eksternal delta di Azure Storage.

    Catatan

    Jika skema tidak disediakan, Kusto akan mencoba menyimpulkannya secara otomatis jika sudah ada tabel delta yang ditentukan dalam kontainer penyimpanan target.
    Pemartisian tabel Delta tidak didukung.

  2. Tentukan ekspor berkelanjutan ke tabel ini menggunakan perintah yang dijelaskan dalam Membuat atau mengubah ekspor berkelanjutan.

    Penting

    Skema tabel delta harus sinkron dengan kueri ekspor berkelanjutan. Jika tabel delta yang mendasar berubah, ekspor mungkin mulai gagal dengan perilaku yang tidak terduga.

Batasan

Umum:

  • Format berikut diizinkan pada tabel target: CSV, , TSVJSON, dan Parquet.
  • Ekspor berkelanjutan tidak dirancang untuk bekerja tampilan materialisasi, karena tampilan materialisasi mungkin diperbarui, sementara data yang diekspor ke penyimpanan selalu ditambahkan dan tidak pernah diperbarui.
  • Ekspor berkelanjutan tidak dapat dibuat pada database pengikut karena database pengikut bersifat baca-saja dan ekspor berkelanjutan memerlukan operasi tulis.
  • Rekaman dalam tabel sumber harus diserap ke tabel secara langsung, menggunakan kebijakan pembaruan, atau menyerap dari perintah kueri. Jika rekaman dipindahkan ke tabel menggunakan .move extents atau menggunakan tabel .rename, ekspor berkelanjutan mungkin tidak memproses rekaman ini. Lihat batasan yang dijelaskan di halaman Kursor Database.
  • Jika artefak yang digunakan oleh ekspor berkelanjutan ditujukan untuk memicu notifikasi Event Grid, lihat bagian masalah umum di dokumentasi Event Grid.

Lintas database dan lintas kluster:

  • Ekspor berkelanjutan tidak mendukung panggilan lintas kluster.
  • Ekspor berkelanjutan mendukung panggilan lintas database hanya untuk tabel dimensi. Semua tabel fakta harus berada di database lokal. Lihat detail selengkapnya dalam Mengekspor dari tabel fakta dan dimensi.
  • Jika ekspor berkelanjutan menyertakan panggilan lintas database, ekspor tersebut harus dikonfigurasi dengan identitas terkelola.

Lintas database dan lintas Eventhouse:

  • Ekspor berkelanjutan tidak mendukung panggilan lintas Eventhouse.
  • Ekspor berkelanjutan mendukung panggilan lintas database hanya untuk tabel dimensi. Semua tabel fakta harus berada di database lokal. Lihat detail selengkapnya dalam Mengekspor dari tabel fakta dan dimensi.

Kebijakan:

  • Ekspor berkelanjutan tidak dapat diaktifkan pada tabel dengan kebijakan Keamanan Tingkat Baris kecuali kondisi tertentu terpenuhi. Untuk informasi selengkapnya, lihat Ekspor berkelanjutan dari tabel dengan Keamanan Tingkat Baris.
  • Ekspor berkelanjutan tidak dapat dikonfigurasi pada tabel dengan kebijakan akses tampilan terbatas.