Bagikan melalui


Mengintegrasikan Azure Data Explorer dengan Azure Data Factory

Azure Data Factory (ADF) adalah layanan integrasi data berbasis cloud yang memungkinkan Anda mengintegrasikan penyimpanan data yang berbeda dan melakukan aktivitas pada data. ADF memungkinkan Anda membuat alur kerja berbasis data untuk mengatur dan mengotomatiskan pergerakan data dan transformasi data. Azure Data Explorer adalah salah satu penyimpanan data yang didukung di Azure Data Factory.

Azure Data Factory aktivitas untuk Azure Data Explorer

Berbagai integrasi dengan Azure Data Factory tersedia untuk pengguna Azure Data Explorer:

Salin aktivitas

Azure Data Factory aktivitas Salin digunakan untuk mentransfer data antar penyimpanan data. Azure Data Explorer didukung sebagai sumber, di mana data disalin dari Azure Data Explorer ke penyimpanan data yang didukung, dan sink, tempat data disalin dari penyimpanan data yang didukung ke Azure Data Explorer. Untuk informasi selengkapnya, lihat menyalin data ke atau dari Azure Data Explorer menggunakan Azure Data Factory. Untuk panduan terperinci lihat memuat data dari Azure Data Factory ke Azure Data Explorer. Azure Data Explorer didukung oleh Runtime integrasi Azure (Integration Runtime), digunakan saat data disalin dalam Azure, dan IR yang dihost sendiri, digunakan saat menyalin data dari/ke penyimpanan data yang terletak di tempat atau di jaringan dengan kontrol akses, seperti Azure Virtual Network. Untuk informasi selengkapnya, lihat IR mana yang akan digunakan.

Tip

Saat menggunakan aktivitas salin dan membuat Layanan Tertaut atau Himpunan Data, pilih penyimpanan data Azure Data Explorer (Kusto) dan bukan penyimpanan data lama Kusto.

Aktivitas cari

Aktivitas Pencarian digunakan untuk mengeksekusi kueri di Azure Data Explorer. Hasil kueri akan dikembalikan sebagai output aktivitas Pencarian, dan dapat digunakan dalam aktivitas berikutnya dalam alur seperti yang dijelaskan dalam dokumentasi Pencarian ADF.

Selain batas ukuran respons 5.000 baris dan 2 MB, aktivitas ini juga memiliki batas waktu habis kueri 1 jam.

Aktivitas perintah

Aktivitas Perintah memungkinkan eksekusi perintah manajemen Azure Data Explorer. Tidak seperti kueri, perintah manajemen berpotensi mengubah data atau metadata. Beberapa perintah manajemen ditargetkan untuk menyerap data ke Azure Data Explorer, menggunakan perintah seperti .ingestatau .set-or-append) atau menyalin data dari Azure Data Explorer ke penyimpanan data eksternal menggunakan perintah seperti .export. Untuk panduan terperinci tentang aktivitas perintah, lihat menggunakan aktivitas perintah Azure Data Factory untuk menjalankan perintah manajemen Azure Data Explorer. Menggunakan perintah manajemen untuk menyalin data dapat, kadang-kadang, menjadi opsi yang lebih cepat dan lebih murah daripada aktivitas Salin. Untuk menentukan kapan menggunakan aktivitas Perintah versus aktivitas Salin, lihat memilih antara aktivitas Salin dan Perintah saat menyalin data.

Menyalin secara massal dari templat database

Salin secara massal dari database ke Azure Data Explorer dengan menggunakan templat Azure Data Factory adalah alur Azure Data Factory yang telah ditentukan sebelumnya. Templat digunakan untuk membuat banyak alur per database atau per tabel untuk penyalinan data yang lebih cepat.

Aliran data pemetaan

Azure Data Factory pemetaan aliran data adalah transformasi data yang dirancang secara visual yang memungkinkan teknisi data mengembangkan logika transformasi data grafis tanpa menulis kode. Untuk membuat aliran data dan menyerap data ke Azure Data Explorer, gunakan metode berikut:

  1. Buat aliran data pemetaan.
  2. Ekspor data ke Azure Blob.
  3. Tentukan aktivitas penyalinanEvent Grid atau ADF untuk menyerap data ke Azure Data Explorer.

Pilih antara aktivitas Salin dan Perintah azure Data Explorer saat menyalin data

Bagian ini membantu Anda dalam memilih aktivitas yang benar untuk kebutuhan penyalinan data Anda.

Saat menyalin data dari atau ke Azure Data Explorer, ada dua opsi yang tersedia di Azure Data Factory:

  • Aktivitas salin.
  • Aktivitas Azure Data Explorer Command, yang menjalankan salah satu perintah manajemen yang mentransfer data di Azure Data Explorer.

Menyalin data dari Azure Data Explorer

Anda dapat menyalin data dari Azure Data Explorer menggunakan aktivitas salin atau .export perintah . Perintah .export menjalankan kueri, lalu mengekspor hasil kueri.

Lihat tabel berikut ini untuk perbandingan aktivitas Salin dan .export perintah untuk menyalin data dari Azure Data Explorer.

Salin aktivitas Perintah .export
Deskripsi alur ADF menjalankan kueri di Kusto, memproses hasilnya, dan mengirimkannya ke penyimpanan data target.
(Penyimpanan data sink Azure Data Explorer > ADF>)
ADF mengirimkan .export perintah manajemen ke Azure Data Explorer, yang menjalankan perintah, dan mengirim data langsung ke penyimpanan data target.
(** Penyimpanan data sink Azure Data Explorer>**)
Penyimpanan data target yang didukung Berbagai penyimpanan data yang didukung ADLSv2, Azure Blob, SQL Database
Performa Terpusat
  • Terdistribusi (default), mengekspor data dari beberapa simpul secara bersamaan
  • Lebih cepat dan COGS (biaya barang dijual) efisien.
Batas server Batas kueri dapat diperpanjang/dinonaktifkan. Secara default, kueri ADF berisi:
  • Batas ukuran 500.000 rekaman atau 64 MB.
  • Batas waktu 10 menit.
  • noTruncation atur ke false.
Secara default, memperluas atau menonaktifkan batas kueri:
  • Batas ukuran dinonaktifkan.
  • Batas waktu server diperpanjang hingga 1 jam.
  • MaxMemoryConsumptionPerIterator dan MaxMemoryConsumptionPerQueryPerNode diperluas hingga maks (5 GB, TotalPhysicalMemory/2).

Tip

Jika tujuan salin Anda adalah salah satu penyimpanan data yang didukung oleh .export perintah, dan jika tidak ada fitur aktivitas Salin yang penting untuk kebutuhan Anda, pilih .export perintah .

Menyalin data ke Azure Data Explorer

Anda dapat menyalin data ke Azure Data Explorer menggunakan aktivitas salin atau perintah penyerapan seperti menyerap dari kueri (.set-or-append, , .set-or-replace.set, .replace), dan menyerap dari penyimpanan (.ingest).

Lihat tabel berikut untuk perbandingan aktivitas Salin, dan perintah penyerapan untuk menyalin data ke Azure Data Explorer.

Salin aktivitas Menyerap dari kueri
.set-or-append / .set-or-replace / .set / .replace
Menyerap dari penyimpanan
.ingest
Deskripsi alur ADF mendapatkan data dari penyimpanan data sumber, mengonversinya menjadi format tabular, dan melakukan perubahan pemetaan skema yang diperlukan. ADF kemudian mengunggah data ke blob Azure, membaginya menjadi potongan, lalu mengunduh blob untuk menyerapnya ke dalam tabel Azure Data Explorer.
(Penyimpanan data sumber > ADF > Azure blob > Azure Data Explorer)
Perintah ini dapat menjalankan kueri atau .show perintah, dan menyerap hasil kueri ke dalam tabel (Azure Data Explorer > Azure Data Explorer). Perintah ini menyerap data ke dalam tabel dengan "menarik" data dari satu atau beberapa artefak penyimpanan cloud.
Penyimpanan data sumber yang didukung berbagai opsi ADLS Gen 2, Azure Blob, SQL (menggunakan plugin sql_request(), Azure Cosmos DB (menggunakan plugin cosmosdb_sql_request), dan penyimpanan data lainnya yang menyediakan API HTTP atau Python. Sistem file, Azure Blob Storage, ADLS Gen 1, ADLS Gen 2
Performa Penyerapan diantrekan dan dikelola, yang memastikan penyerapan ukuran kecil dan memastikan ketersediaan tinggi dengan menyediakan penyeimbangan beban, percobaan ulang, dan penanganan kesalahan.
  • Perintah tersebut tidak dirancang untuk impor data volume tinggi.
  • Bekerja seperti yang diharapkan dan lebih murah. Tetapi untuk skenario produksi dan kapan tingkat lalu lintas dan ukuran data besar, gunakan aktivitas Salin.
Batas Server
  • Tidak ada batas ukuran.
  • Batas waktu habis maksimum: Satu jam per blob yang diserap.
  • Hanya ada batas ukuran pada bagian kueri, yang dapat dilewati dengan menentukan noTruncation=true.
  • Batas waktu habis maksimum: Satu jam.
  • Tidak ada batas ukuran.
  • Batas waktu habis maksimum: Satu jam.

Tip

  • Saat menyalin data dari ADF ke Azure Data Explorer gunakan ingest from query perintah .
  • Untuk himpunan data besar (>1GB), gunakan aktivitas Salin.

Memerlukan izin

Tabel berikut ini mencantumkan izin yang diperlukan untuk berbagai langkah dalam integrasi dengan Azure Data Factory.

Langkah Operasi Tingkat izin minimum Catatan
Membuat Layanan Tertaut Navigasi database penampil database
Pengguna yang masuk menggunakan ADF harus diotorisasi untuk membaca metadata database.
Pengguna dapat memberikan nama database secara manual.
Menguji koneksi monitor database atau ingestor tabel
Perwakilan layanan harus diotorisasi untuk menjalankan perintah tingkat .show database atau penyerapan tingkat tabel.
  • TestConnection memverifikasi koneksi ke kluster, dan bukan ke database. Ini bisa berhasil meskipun database tidak ada.
  • Izin admin tabel tidak cukup.
Membuat Himpunan Data Navigasi tabel pemantauan database
Pengguna yang masuk menggunakan ADF, harus berwenang untuk menjalankan perintah tingkat .show database.
Pengguna dapat memberikan nama tabel secara manual.
Membuat Himpunan Data atau Aktivitas Salin Data pratinjau penampil database
Perwakilan layanan harus berwenang untuk membaca metadata database.
Mengimpor skema penampil database
Perwakilan layanan harus berwenang untuk membaca metadata database.
Saat Azure Data Explorer adalah sumber salinan tabular-ke-tabular, ADF mengimpor skema secara otomatis, meskipun pengguna tidak mengimpor skema secara eksplisit.
Azure Data Explorer sebagai Sink Membuat pemetaan kolom menurut nama pemantauan database
Perwakilan layanan harus berwenang untuk menjalankan perintah tingkat .show database.
  • Semua operasi wajib berfungsi dengan penyerap tabel.
  • Beberapa operasi opsional dapat gagal.
  • Membuat pemetaan CSV pada tabel
  • Menghilangkan pemetaan
ingestor tabel atau admin database
Perwakilan layanan harus berwenang untuk membuat perubahan pada tabel.
Serap data ingestor tabel atau admin database
Perwakilan layanan harus berwenang untuk membuat perubahan pada tabel.
Azure Data Explorer sebagai sumber Mengeksekusi kueri penampil database
Perwakilan layanan harus berwenang untuk membaca metadata database.
Perintah Kusto Menurut tingkat izin setiap perintah.

Performa

Jika Azure Data Explorer adalah sumbernya dan Anda menggunakan aktivitas Pencarian, salin, atau perintah yang berisi kueri di mana, lihat praktik terbaik kueri untuk informasi performa dan dokumentasi ADF untuk aktivitas salin.

Bagian ini membahas penggunaan aktivitas salin di mana Azure Data Explorer adalah sink. Perkiraan throughput untuk azure Data Explorer sink adalah 11-13 MBps. Tabel berikut merinci parameter yang memengaruhi performa sink Azure Data Explorer.

Parameter Catatan
Kedekatan geografis komponen Tempatkan semua komponen di wilayah yang sama:
  • penyimpanan data sumber dan sink.
  • Runtime integrasi ADF.
  • Kluster Azure Data Explorer Anda.
Pastikan setidaknya runtime integrasi Anda berada di wilayah yang sama dengan kluster Azure Data Explorer Anda.
Jumlah DIU Satu VM untuk setiap empat DIU yang digunakan oleh ADF.
Meningkatkan DIU hanya membantu jika sumber Anda adalah penyimpanan berbasis file dengan beberapa file. Setiap VM kemudian akan memproses file yang berbeda secara paralel. Oleh karena itu, menyalin satu file besar memiliki latensi yang lebih tinggi daripada menyalin beberapa file yang lebih kecil.
Jumlah dan SKU kluster Azure Data Explorer Anda Jumlah simpul Azure Data Explorer yang tinggi meningkatkan waktu pemrosesan penyerapan. Penggunaan SKU dev akan sangat membatasi performa
Paralelisme Untuk menyalin sejumlah besar data dari database, partisi data Anda lalu gunakan perulangan ForEach yang menyalin setiap partisi secara paralel atau menggunakan Salinan Massal dari Database ke Azure Data Explorer Template. Catatan:Tingkat ParalelismePengaturan> dalam aktivitas Salin tidak relevan dengan Azure Data Explorer.
Kompleksitas pemrosesan data Latensi bervariasi sesuai dengan format file sumber, pemetaan kolom, dan pemadatan.
VM yang menjalankan runtime integrasi Anda
  • Untuk salinan Azure, VM ADF dan SKU mesin tidak dapat diubah.
  • Untuk salinan lokal ke Azure, tentukan bahwa VM yang menghosting IR yang dihost sendiri cukup kuat.

Tips dan perangkap umum

Memantau kemajuan aktivitas

  • Saat memantau kemajuan aktivitas, properti Tertulis data mungkin lebih besar dari properti Baca data karena Bacaan data dihitung sesuai dengan ukuran file biner, sementara Data yang ditulis dihitung sesuai dengan ukuran dalam memori, setelah data dideserialisasi dan didekompresi.

  • Saat memantau kemajuan aktivitas, Anda dapat melihat bahwa data ditulis ke sink Azure Data Explorer. Saat mengkueri tabel Azure Data Explorer, Anda melihat bahwa data belum tiba. Ini karena ada dua tahap saat menyalin ke Azure Data Explorer.

    • Tahap pertama membaca data sumber, membaginya menjadi gugus 900 MB, dan mengunggah setiap gugus ke Azure Blob. Tahap pertama terlihat oleh tampilan kemajuan aktivitas ADF.
    • Tahap kedua dimulai setelah semua data diunggah ke Azure Blobs. Simpul kluster Anda mengunduh blob dan menyerap data ke dalam tabel sink. Data kemudian terlihat dalam tabel Azure Data Explorer Anda.

Kegagalan untuk menyerap file CSV karena pelepasan yang tidak tepat

Azure Data Explorer mengharapkan file CSV selaras dengan RFC 4180. Ini mengharapkan:

  • Bidang yang berisi karakter yang memerlukan pelepasan (seperti " dan baris baru) harus dimulai dan diakhir dengan karakter " , tanpa spasi kosong. Semua karakter "di dalam bidang diloloskan dengan menggunakan karakter ganda " (""). Misalnya, "Halo, ""Dunia"" adalah file CSV yang valid dengan satu rekaman yang memiliki satu kolom atau bidang dengan konten Halo, "Dunia".
  • Semua rekaman dalam file harus memiliki jumlah kolom dan bidang yang sama.

Azure Data Factory memungkinkan karakter garis miring terbelakang (escape). Jika Anda membuat file CSV dengan karakter garis miring terbelakang menggunakan Azure Data Factory, penyerapan file ke Azure Data Explorer akan gagal.

Contoh

Nilai teks berikut: Halo, "Dunia"
ABC DEF
"ABC\D"EF
"ABC DEF

Akan muncul dalam file CSV yang tepat sebagai berikut: "Halo, ""Dunia""
"ABC DEF"
"""ABC\D""EF"
"""ABC DEF"

Dengan menggunakan karakter escape default (backslash), CSV berikut tidak akan berfungsi dengan Azure Data Explorer: "Hello, "World""
"ABC DEF"
""ABC\D"EF"
""ABC DEF"

Objek JSON berlapis

Saat menyalin file JSON ke Azure Data Explorer, perhatikan bahwa:

  • Array tidak didukung.
  • Jika struktur JSON Anda berisi jenis data objek, Azure Data Factory akan meratakan item anak objek, dan mencoba memetakan setiap item anak ke kolom lain di tabel Azure Data Explorer Anda. Jika Anda ingin seluruh item objek dipetakan ke satu kolom di Azure Data Explorer:
    • Serap seluruh baris JSON ke dalam satu kolom dinamis di Azure Data Explorer.
    • Edit definisi alur secara manual dengan menggunakan editor JSON Azure Data Factory. Dalam Pemetaan
      • Hapus beberapa pemetaan yang dibuat untuk setiap item anak, dan tambahkan satu pemetaan yang memetakan jenis objek Anda ke kolom tabel Anda.
      • Setelah kurung siku penutup, tambahkan koma diikuti dengan:
        "mapComplexValuesToString": true.

Tentukan Properti Tambahan saat menyalin ke Azure Data Explorer

Anda dapat menambahkan properti penyerapan tambahan dengan menentukannya dalam aktivitas salin di alur.

Untuk menambahkan properti

  1. Di Azure Data Factory, pilih alat pensil Pembuat.

  2. Di bawah Alur, pilih alur tempat Anda ingin menambahkan properti penyerapan tambahan.

  3. Di kanvas Aktivitas , pilih aktivitas Salin data .

  4. Dalam detail aktivitas, pilih Sink, lalu perluas Properti tambahan.

  5. Pilih Baru, pilih Tambahkan simpul atau Tambahkan array sesuai kebutuhan, lalu tentukan nama dan nilai properti penyerapan. Ulangi langkah ini untuk menambahkan lebih banyak properti.

  6. Setelah selesai menyimpan dan menerbitkan alur Anda.

Langkah selanjutnya