Format XML di alur Azure Data Factory dan Synapse Analytics
BERLAKU UNTUK: Azure Data Factory
Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Ikuti artikel ini saat Anda ingin memilah file XML.
Format XML didukung untuk konektor berikut: Amazon S3, Penyimpanan yang Kompatibel dengan Amazon S3, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage dan SFTP. Ini didukung sebagai sumber tetapi tidak sebagai sink.
Properti himpunan data
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel Himpunan Data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data XML.
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis himpunan data harus diatur ke Xml. | Ya |
lokasi | Pengaturan lokasi file. Tiap konektor berbasis file memiliki jenis lokasinya sendiri dan properti yang didukung di location . Lihat detail di artikel konektor -> Bagian properti himpunan data. |
Ya |
encodingName | Jenis pengodean yang digunakan untuk membaca/menulis file uji. Berikut ini adalah nilai yang diizinkan: "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258". |
No |
nullValue | Menentukan representasi untai nilai null. Nilai defaultnya adalah untai kosong. |
No |
kompresi | Grup properti untuk mengonfigurasi kompresi file. Konfigurasikan bagian ini saat Anda ingin melakukan kompresi/dekompresi selama eksekusi aktivitas. | No |
jenis (di bawah compression ) |
Kodek pemadatan yang digunakan untuk membaca/menulis file XML. Nilai yang diizinkan adalah bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy, atau lz4. Defaultnya tidak dipadatkan. Catatan aktivitas Salin saat ini tidak mendukung "snappy" & "lz4", dan pemetaan aliran data tidak mendukung "ZipDeflate", "TarGzip", dan "Tar". Catatan ketika menggunakan aktivitas penyalinan untuk mendekompresi file ZipDeflate/TarGzip/Tar dan menulis ke penyimpanan data sink berbasis file, secara default file diekstraksi ke folder: <path specified in dataset>/<folder named as source compressed file>/ , gunakan sumber preserveZipFileNameAsFolder / preserveCompressionFileNameAsFolder aktivitas penyalinan untuk mengontrol apakah akan mempertahankan nama file yang dipadatkan sebagai struktur folder. |
Tidak. |
tingkat (di bawah compression ) |
Rasio pemadatan. Nilai yang diizinkan adalah Optimal atau Tercepat. - Tercepat: Operasi kompresi akan selesai secepat mungkin, meski file hasil tidak dikompresi secara optimal. - Optimal: Operasi pemadatan akan dipadatkan secara optimal, bahkan jika operasi membutuhkan waktu lebih lama untuk menyelesaikannya. Untuk informasi selengkapnya, lihat topik Tingkat Pemadatan. |
No |
Di bawah ini adalah contoh himpunan data XML di Azure Blob Storage:
{
"name": "XMLDataset",
"properties": {
"type": "Xml",
"linkedServiceName": {
"referenceName": "<Azure Blob Storage linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "containername",
"folderPath": "folder/subfolder",
},
"compression": {
"type": "ZipDeflate"
}
}
}
}
Properti aktivitas salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber XML.
Pelajari tentang cara memetakan data XML dan men-sink penyimpanan/format data dari pemetaan skema. Saat melihat pratinjau file XML, data ditunjukkan dengan hierarki JSON, dan Anda menggunakan jalur JSON untuk menunjuk ke bidang.
XML sebagai sumber
Properti berikut didukung di bagian *sumber* aktivitas salin. Pelajari lebih lanjut di perilaku konektor XML.
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis sumber aktivitas penyalinan harus diatur ke XmlSource. | Ya |
formatSettings | Grup properti. Lihat tabel pengaturan baca XML di bawah ini. | No |
storeSettings | Grup berbagai properti tentang cara membaca data dari penyimpanan data. Setiap konektor berbasis file memiliki pengaturan baca yang didukung sendiri di bagian storeSettings . Lihat detail di artikel konektor -> Bagian properti aktivitas salin. |
No |
Pengaturan baca XML yang didukung di bawah formatSettings
:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Jenis formatSettings harus diatur ke BinaryReadSettings. | Ya |
validationMode | Tentukan apakah akan memvalidasi skema XML. Nilai yang diizinkan adalah tidak ada (default, tanpa validasi), xsd (validasi menggunakan XSD), dtd (validasi menggunakan DTD). |
No |
namespace | Apakah akan mengaktifkan namespace layanan saat memilah file XML. Nilai yang diizinkan adalah: benar (default), salah. | No |
namespacePrefixes | URI namespace layanan mengawali pemetaan, yang lalu digunakan untuk memberi nama bidang saat memilah file xml. Jika file XML memiliki namespace layanan dan namespace diaktifkan, secara default, nama bidang akan sama seperti yang ada di dokumen XML. Jika ada item yang ditetapkan untuk URI namespace layanan di pemetaan ini, nama bidangnya adalah prefix:fieldName . |
No |
detectDataType | Apakah akan mendeteksi jenis data bilangan bulat, ganda, dan Boolean. Nilai yang diizinkan adalah: benar (default), salah. | No |
compressionProperties | Grup properti tentang cara mendekompresi data untuk codec pemadatan yang ditentukan. | No |
preserveZipFileNameAsFolder (di bawah compressionProperties ->type sebagai ZipDeflateReadSettings ) |
Berlaku saat input himpunan data dikonfigurasi dengan pemadatan ZipDeflate. Menunjukkan apakah akan mempertahankan nama file zip sumber sebagai struktur folder selama salin. - Bila disetel ke true (default), layanan akan menulis file yang tidak di-zip ke <path specified in dataset>/<folder named as source zip file>/ .- Bila disetel ke false, layanan menulis file yang tidak di-zip langsung ke <path specified in dataset> . Pastikan Anda tidak memiliki nama file duplikat dalam file zip sumber yang berbeda untuk menghindari persaingan atau perilaku tak terduga. |
No |
preserveCompressionFileNameAsFolder (di bawah compressionProperties ->type sebagai TarGZipReadSettings atau TarReadSettings ) |
Berlaku ketika himpunan data input dikonfigurasi dengan pemadatan TarGzip/Tar. Menunjukkan apakah akan mempertahankan nama file sumber yang dipadatkan sebagai struktur folder selama salin. - Bila disetel ke true (default), layanan akan menulis file yang didekompresi ke <path specified in dataset>/<folder named as source compressed file>/ . - Bila disetel ke false, layanan menulis file yang didekompresi langsung ke <path specified in dataset> . Pastikan Anda tidak memiliki nama file duplikat di file sumber yang berbeda untuk menghindari persaingan atau perilaku yang tidak terduga. |
No |
Properti pemetaan aliran data
Dalam memetakan aliran data, Anda dapat membaca format Excel pada penyimpanan data berikut: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 serta SFTP. Anda dapat mengarahkan ke file XML baik menggunakan himpunan data XML atau menggunakan himpunan data sebaris.
Properti sumber
Tabel di bawah ini mencantumkan properti yang didukung oleh sumber XML. Anda dapat mengedit properti ini di tab opsi Sumber. Pelajari lebih lanjut di perilaku konektor XML. Saat menggunakan himpunan data sebaris, Anda akan melihat pengaturan file tambahan, yang sama dengan properti yang dijelaskan di bagian properti himpunan data.
Nama | Deskripsi | Wajib diisi | Nilai yang diizinkan | Properti skrip aliran data |
---|---|---|---|---|
Jalur wild card | Semua file yang cocok dengan jalur kartubebas akan diproses. Mengambil alih jalur folder dan file yang diatur dalam himpunan data. | No | Tali[] | wildcardPaths |
Jalur akar partisi | Untuk data file yang dipartisi, Anda dapat memasukkan jalur akar partisi untuk membaca folder yang dipartisi sebagai kolom | No | String | partitionRootPath |
Daftar file | Apakah sumber Anda mengarah ke file teks yang mencantumkan file untuk diproses | No | true atau false |
fileList |
Kolom untuk menyimpan nama file | Membuat kolom baru dengan jalur dan nama file sumber | No | String | rowUrlColumn |
Setelah selesai | Hapus atau pindahkan file setelah diproses. Jalur file dimulai dari akar kontainer | No | Hapus: true atau false Pindah: ['<from>', '<to>'] |
purgeFiles moveFiles |
Filter menurut terakhir diubah | Pilih untuk memfilter file berdasarkan waktu terakhir file tersebut diubah | No | Tanda Waktu | modifiedAfter modifiedBefore |
Mode validasi | Tentukan apakah akan memvalidasi skema XML. | No | None (default, tanpa validasi)xsd (validasi menggunakan XSD)dtd (validasi menggunakan XSD). |
validationMode |
Namaspace | Apakah akan mengaktifkan namespace layanan saat memilah file XML. | No | true (default) atau false |
namespace |
Pasangan prefiks namespace layanan | URI namespace layanan mengawali pemetaan, yang lalu digunakan untuk memberi nama bidang saat memilah file xml. Jika file XML memiliki namespace layanan dan namespace diaktifkan, secara default, nama bidang akan sama seperti yang ada di dokumen XML. Jika ada item yang ditetapkan untuk URI namespace layanan di pemetaan ini, nama bidangnya adalah prefix:fieldName . |
No | Larik dengan pola['URI1'->'prefix1','URI2'->'prefix2'] |
namespacePrefixes |
Izinkan file tidak ditemukan | Jika true, kesalahan tidak akan ditampilkan jika tidak ditemukan file | no | true atau false |
ignoreNoFilesFound |
Contoh skrip sumber XML
Skrip di bawah ini adalah contoh konfigurasi sumber XML dalam alur pemetaan data menggunakan mode himpunan data.
source(allowSchemaDrift: true,
validateSchema: false,
validationMode: 'xsd',
namespaces: true) ~> XMLSource
Skrip di bawah ini adalah contoh konfigurasi sumber XML menggunakan mode himpunan data sebaris.
source(allowSchemaDrift: true,
validateSchema: false,
format: 'xml',
fileSystem: 'filesystem',
folderPath: 'folder',
validationMode: 'xsd',
namespaces: true) ~> XMLSource
Perilaku konektor XML
Perhatikan hal berikut saat menggunakan XML sebagai sumber.
Atribut XML:
- Atribut suatu elemen dipilah sebagai sub-bidang dari elemen tersebut dalam hierarki.
- Nama bidang atribut mengikuti pola
@attributeName
.
Validasi skema XML:
- Anda dapat memilih untuk tidak memvalidasi skema, atau memvalidasi skema menggunakan XSD atau DTD.
- Saat menggunakan XSD atau DTD untuk memvalidasi file XML, XSD/DTD harus dirujuk ke dalam file XML melalui jalur relatif.
Penanganan namespace layanan:
- Namespace dapat dinonaktifkan saat menggunakan aliran data, dalam hal ini, atribut yang menentukan namespace layanan akan diuraikan sebagai atribut normal.
- Saat namespace layanan diaktifkan, nama elemen dan atribut mengikuti pola
namespaceUri,elementName
dannamespaceUri,@attributeName
secara default. Anda dapat menentukan prefiks namespace layanan untuk setiap URI namespace di sumber, dalam hal ini, nama elemen dan atribut malah mengikuti poladefinedPrefix:elementName
ataudefinedPrefix:@attributeName
.
Kolom nilai:
- Jika elemen XML memiliki nilai teks sederhana dan atribut/elemen turunan, nilai teks sederhana diuraikan sebagai nilai "kolom nilai" dengan nama bidang bawaan
_value_
. Dan jika berlaku, ia juga mewarisi namespace layanan dari elemen.
- Jika elemen XML memiliki nilai teks sederhana dan atribut/elemen turunan, nilai teks sederhana diuraikan sebagai nilai "kolom nilai" dengan nama bidang bawaan