XML-formátum az Azure Data Factoryben és a Synapse Analytics-folyamatokban
A következőkre vonatkozik: Azure Data Factory
Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Kövesse ezt a cikket, amikor elemezni szeretné az XML-fájlokat.
Az XML-formátum a következő összekötők esetében támogatott: Amazon S3, Amazon S3 Kompatibilis tároló, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, Fájlrendszer, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage és SFTP. Forrásként támogatott, de nem fogadóként.
Adathalmaz tulajdonságai
Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja. Ez a szakasz az XML-adatkészlet által támogatott tulajdonságok listáját tartalmazza.
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának Xml értékre kell állítania. | Igen |
hely | A fájl(ok) helybeállításai. Minden fájlalapú összekötő saját helytípussal és támogatott tulajdonságokkal rendelkezik a(z) < a0/> alatt location . Lásd az összekötőkről szóló cikk –> Adathalmaz tulajdonságai szakasz részleteit. |
Igen |
encodingName | A tesztfájlok olvasásához/írásához használt kódolási típus. Az engedélyezett értékek a következők: "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", "IBM8870", "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-1252" 1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258". |
Nem |
nullValue | A null érték sztring-ábrázolását adja meg. Az alapértelmezett érték üres sztring. |
Nem |
tömörítés | A fájltömörítés konfigurálásához használt tulajdonságok csoportja. Konfigurálja ezt a szakaszt, ha a tevékenység végrehajtása során tömörítést/tömörítést szeretne végezni. | Nem |
típus (alatt compression ) |
Az XML-fájlok olvasásához/írásához használt tömörítési kodek. Az engedélyezett értékek a következők: bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy vagy lz4. Az alapértelmezett beállítás nincs tömörítve. Vegye figyelembe, hogy Copy tevékenység jelenleg nem támogatja a "snappy" & "lz4" elemet, és a leképezési adatfolyam nem támogatja a "ZipDeflate", a "TarGzip" és a "Tar" elemet. Figyelje meg, hogy a ZipDeflate/TarGzip/Tar fájl(ok) kibontásához és a fájlalapú fogadóadattárba való íráshoz a másolási tevékenység során alapértelmezés szerint a fájlok a mappába lesznek kinyerve: <path specified in dataset>/<folder named as source compressed file>/ a másolási tevékenység forrásának használatával preserveZipFileNameAsFolder /preserveCompressionFileNameAsFolder szabályozhatja, hogy a tömörített fájl(ok) neve megmarad-e mappastruktúraként. |
Szám |
szint (alatt compression ) |
A tömörítési arány. Az engedélyezett értékek optimálisak vagy leggyorsabbak. - Leggyorsabb: A tömörítési műveletnek a lehető leggyorsabban végre kell hajtania, még akkor is, ha az eredményül kapott fájl nincs optimálisan tömörítve. - Optimális: A tömörítési műveletet optimálisan kell tömöríteni, még akkor is, ha a művelet végrehajtása hosszabb időt vesz igénybe. További információ: Tömörítési szint témakör. |
Nem |
Az alábbiakban egy példa látható az Azure Blob Storage XML-adatkészletére:
{
"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"
}
}
}
}
Másolási tevékenység tulajdonságai
A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az XML-forrás által támogatott tulajdonságok listáját tartalmazza.
Ismerje meg, hogyan képezheti le az XML-adatokat és a fogadóadattárat/formátumot a sémaleképezésből. Az XML-fájlok előnézetének megtekintésekor az adatok JSON-hierarchiával jelennek meg, és A JSON elérési útján a mezőkre mutathat.
XML mint forrás
A másolási tevékenység *forrás* szakasza az alábbi tulajdonságokat támogatja. További információ az XML-összekötő viselkedéséről.
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A másolási tevékenység forrásának típustulajdonságát XmlSource-ra kell állítani. | Igen |
formatSettings | Egy tulajdonságcsoport. Tekintse meg az ALÁBBI XML-olvasási beállítások táblázatát. | Nem |
storeSettings | Az adatok adattárból való olvasására vonatkozó tulajdonságok csoportja. Minden fájlalapú összekötő saját támogatott olvasási beállításokkal rendelkezik a következő alatt storeSettings : . Az összekötőkről szóló cikk részleteinek megtekintése –> Copy tevékenység tulajdonságok szakasz. |
Nem |
Támogatott XML-olvasási beállítások a következő területen formatSettings
:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A formatSettings típusának XmlReadSettings értékre kell állítania. | Igen |
validationMode | Megadja, hogy érvényesítse-e az XML-sémát. Az engedélyezett értékek nem (alapértelmezett, nincs ellenőrzés), xsd (ellenőrzés XSD használatával), dtd (DTD használatával történő ellenőrzés). |
Nem |
névterek | A névtér engedélyezése az XML-fájlok elemzésekor. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis. | Nem |
namespacePrefixes | Névtér URI az előtagleképezéshez, amely az xml-fájl elemzésekor a mezők elnevezésére szolgál. Ha egy XML-fájl rendelkezik névtérrel, és a névtér engedélyezve van, a mezőnév alapértelmezés szerint megegyezik az XML-dokumentumban szereplő névvel. Ha a térképen a névtér URI-jának egy eleme van definiálva, akkor a mező neve . prefix:fieldName |
Nem |
detectDataType | Az egész szám, a dupla és a logikai adattípus észlelése. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis. | Nem |
compressionProperties | Egy adott tömörítési kodek adatainak felbontására vonatkozó tulajdonságok csoportja. | Nem |
preserveZipFileNameAsFolder (under compressionProperties ->type as ZipDeflateReadSettings ) |
Akkor érvényes, ha a bemeneti adatkészlet ZipDeflate tömörítéssel van konfigurálva. Azt jelzi, hogy a másolás során meg kell-e őrizni a forrás zip-fájl nevét mappastruktúraként. - Ha igaz (alapértelmezett) értékre van állítva, a szolgáltatás a kibontott fájlokat a következőre <path specified in dataset>/<folder named as source zip file>/ írja: .- Ha hamis értékre van állítva, a szolgáltatás a kibontott fájlokat közvetlenül a következőre <path specified in dataset> írja: . Győződjön meg arról, hogy nincsenek ismétlődő fájlnevek a különböző forrás zip-fájlokban, hogy elkerülje a versenyzést vagy a váratlan viselkedést. |
Nem |
preserveCompressionFileNameAsFolder (alatt compressionProperties ->type mint TarGZipReadSettings vagy TarReadSettings ) |
Akkor érvényes, ha a bemeneti adatkészlet TarGzip/Tar-tömörítéssel van konfigurálva. Azt jelzi, hogy a másolás során megőrzi-e a forrás tömörített fájlnevét mappastruktúraként. - Ha igaz (alapértelmezett) értékre van állítva, a szolgáltatás a tömörített fájlokat a következőre <path specified in dataset>/<folder named as source compressed file>/ írja: . - Ha hamis értékre van állítva, a szolgáltatás közvetlenül <path specified in dataset> ide írja a tömörített fájlokat. Győződjön meg arról, hogy nem duplikált fájlnevek szerepelnek a különböző forrásfájlokban, hogy elkerülje a versenyzést vagy a váratlan viselkedést. |
Nem |
Adatfolyam-tulajdonságok leképezése
Az adatfolyamok leképezése során a következő adattárakban olvashat XML-formátumot: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 és SFTP. Xml-fájlokra mutathat XML-adatkészlet vagy beágyazott adatkészlet használatával.
Forrástulajdonságok
Az alábbi táblázat felsorolja az XML-forrás által támogatott tulajdonságokat. Ezeket a tulajdonságokat a Forrásbeállítások lapon szerkesztheti. További információ az XML-összekötő viselkedéséről. Beágyazott adatkészlet használata esetén további fájlbeállítások jelennek meg, amelyek megegyeznek az adathalmaz tulajdonságainak szakaszában leírt tulajdonságokkal.
Név | Leírás | Kötelező | Megengedett értékek | Adatfolyam-szkript tulajdonság |
---|---|---|---|---|
Helyettesítő kártya elérési útjai | A program minden olyan fájlt feldolgoz, amely megfelel a helyettesítő karakter elérési útjának. Felülbírálja az adathalmazban beállított mappát és fájl elérési útját. | Nem | Karakterlánc[] | helyettesítő karakterekPaths |
Partíció gyökérútvonala | A particionált fájladatok esetében megadhat egy partíció gyökérútvonalát, hogy a particionált mappákat oszlopként olvassa be | Nem | Sztring | partitionRootPath |
Fájlok listája | Azt jelzi, hogy a forrás olyan szövegfájlra mutat-e, amely felsorolja a feldolgozandó fájlokat | Nem | true vagy false |
fileList |
A fájlnév tárolására használt oszlop | Új oszlop létrehozása a forrásfájl nevével és elérési útjával | Nem | Sztring | rowUrlColumn |
A befejezés után | A feldolgozás után törölje vagy helyezze át a fájlokat. A fájl elérési útja a tároló gyökerétől indul | Nem | Törlés: true vagy false Mozog: ['<from>', '<to>'] |
purgeFiles moveFiles |
Szűrés utoljára módosítva | Fájlok szűrésének kiválasztása az utolsó módosításuk időpontjától függően | Nem | Időbélyegző | modifiedAfter modifiedBefore |
Érvényesítési mód | Megadja, hogy érvényesítse-e az XML-sémát. | Nem | None (alapértelmezett, nincs ellenőrzés)xsd (ellenőrzés XSD használatával)dtd (érvényesítés DTD használatával). |
validationMode |
Névterek | A névtér engedélyezése az XML-fájlok elemzésekor. | Nem | true (alapértelmezett) vagy false |
névterek |
Névtér előtagpárjai | Névtér URI az előtagleképezéshez, amely az xml-fájl elemzésekor a mezők elnevezésére szolgál. Ha egy XML-fájl rendelkezik névtérrel, és a névtér engedélyezve van, a mezőnév alapértelmezés szerint megegyezik az XML-dokumentumban szereplő névvel. Ha a térképen a névtér URI-jának egy eleme van definiálva, akkor a mező neve . prefix:fieldName |
Nem | Tömb mintával['URI1'->'prefix1','URI2'->'prefix2'] |
namespacePrefixes |
Nem található fájl engedélyezése | Ha igaz, a rendszer nem ad hibát, ha nem található fájl | nem | true vagy false |
ignoreNoFilesFound |
Példa XML-forrásszkriptre
Az alábbi szkript egy példa egy XML-forráskonfigurációra az adatfolyamok adathalmaz módban való leképezésében.
source(allowSchemaDrift: true,
validateSchema: false,
validationMode: 'xsd',
namespaces: true) ~> XMLSource
Az alábbi szkript egy példa egy XML-forráskonfigurációra beágyazott adathalmaz mód használatával.
source(allowSchemaDrift: true,
validateSchema: false,
format: 'xml',
fileSystem: 'filesystem',
folderPath: 'folder',
validationMode: 'xsd',
namespaces: true) ~> XMLSource
AZ XML-összekötő viselkedése
Ha XML-t használ forrásként, vegye figyelembe az alábbiakat.
XML-attribútumok:
- Az elem attribútumai a hierarchia elemének almezőiként vannak elemezve.
- Az attribútummező neve a mintát
@attributeName
követi.
XML-séma érvényesítése:
- Dönthet úgy, hogy nem érvényesíti a sémát, vagy nem érvényesíti a sémát az XSD vagy a DTD használatával.
- Ha XSD-t vagy DTD-t használ az XML-fájlok ellenőrzéséhez, az XSD/DTD-t relatív útvonalon kell hivatkozni az XML-fájlokba.
Névtér kezelése:
- A névtér le van tiltva adatfolyam használatakor, ebben az esetben a névteret meghatározó attribútumok normál attribútumként lesznek elemezve.
- Ha a névtér engedélyezve van, az elem és az attribútumok nevei alapértelmezés szerint a mintát
namespaceUri,elementName
namespaceUri,@attributeName
követik. A forrás minden névtér URI-jának névtérelőtagját megadhatja, ebben az esetben az elem és az attribútumok neve a mintátdefinedPrefix:elementName
követi, vagydefinedPrefix:@attributeName
ehelyett.
Érték oszlop:
- Ha egy XML-elem egyszerű szöveges értékkel és attribútumokkal/gyermekelemekkel is rendelkezik, az egyszerű szöveges érték egy beépített mezőnévvel
_value_
rendelkező "értékoszlop" értékeként lesz elemezve. És örökli az elem névterét is, ha van ilyen.
- Ha egy XML-elem egyszerű szöveges értékkel és attribútumokkal/gyermekelemekkel is rendelkezik, az egyszerű szöveges érték egy beépített mezőnévvel