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.
Aktivitas Azure Data Factory untuk Azure Data Explorer
Berbagai integrasi dengan Azure Data Factory tersedia untuk pengguna Azure Data Explorer:
Salin aktivitas
Aktivitas Salin Azure Data Factory 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 Azure IR (Integration Runtime), digunakan saat data disalin dalam Azure, dan IR yang dihost sendiri, digunakan saat menyalin data dari/ke penyimpanan data yang terletak di lokal 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 pencarian
Aktivitas Pencarian digunakan untuk menjalankan 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 .ingest
atau .set-or-append
) atau menyalin data dari Azure Data Explorer ke penyimpanan data eksternal menggunakan perintah seperti .export
.
Untuk panduan terperinci 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
Aliran data pemetaan Azure Data Factory 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:
- Buat aliran data pemetaan.
- Ekspor data ke Azure Blob.
- Tentukan aktivitas penyalinan Event 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 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 Perintah Azure Data Explorer, 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 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 mengirim .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 |
|
Batas server | Batas kueri dapat diperpanjang/dinonaktifkan. Secara default, kueri ADF berisi:
|
Secara default, memperluas atau menonaktifkan batas kueri:
|
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
, .replace)
.set
, 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 gugus, 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. | Filesystem, 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. |
|
|
Batas Server |
|
|
|
Tip
- Saat menyalin data dari ADF ke Azure Data Explorer, gunakan
ingest from query
perintah . - Untuk himpunan data besar (>1GB), gunakan aktivitas Salin.
Izin yang diperlukan
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 berwenang 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. |
|
|
Membuat Himpunan Data | Navigasi tabel | monitor 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, bahkan jika pengguna tidak mengimpor skema secara eksplisit. | |
Azure Data Explorer sebagai Sink | Membuat pemetaan kolom menurut nama | monitor database Perwakilan layanan harus berwenang untuk menjalankan perintah tingkat .show database. |
|
|
ingestor tabel atau admin database Perwakilan layanan harus berwenang untuk membuat perubahan pada tabel. |
||
Menyerap 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 | Sesuai dengan 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 sink Azure Data Explorer 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:
|
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 Templat Azure Data Explorer. Catatan: Tingkat Pengaturan>Paralelisme 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 |
|
Tips dan perangkap umum
Memantau kemajuan aktivitas
Saat memantau kemajuan aktivitas, properti Data yang ditulis mungkin lebih besar dari properti Bacaan 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 di 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, "Hello, ""World"" adalah file CSV yang valid dengan satu rekaman yang memiliki satu kolom atau bidang dengan konten Hello, "World".
- 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 yang berbeda di tabel Azure Data Explorer Anda. Jika Anda ingin seluruh item objek dipetakan ke satu kolom di Azure Data Explorer:
- Menyerap 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
Di Azure Data Factory, pilih alat pensil Penulis .
Di bawah Alur, pilih alur tempat Anda ingin menambahkan properti penyerapan tambahan.
Di kanvas Aktivitas, pilih aktivitas Salin data.
Dalam detail aktivitas, pilih Sink, lalu perluas Properti tambahan.
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.
Setelah selesai menyimpan dan menerbitkan alur Anda.