Formát XML v kanálech Azure Data Factory a Synapse Analytics
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Pokud chcete analyzovat soubory XML, postupujte podle tohoto článku.
Formát XML je podporovaný pro následující konektory: Amazon S3, Amazon S3 Compatible Storage, 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 a SFTP. Podporuje se jako zdroj, ale není jímka.
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady . Tato část obsahuje seznam vlastností podporovaných datovou sadou XML.
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu datové sady musí být nastavena na Xml. | Ano |
location | Nastavení umístění souborů Každý konektor založený na souborech má svůj vlastní typ umístění a podporované vlastnosti v části location . Podrobnosti najdete v článku o konektoru –> část Vlastnosti datové sady. |
Ano |
encodingName | Typ kódování použitý k čtení a zápisu testovacích souborů. Povolené hodnoty jsou následující: "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", "IBM8869", "IBM88"70", "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". |
No |
nullValue | Určuje řetězcovou reprezentaci hodnoty null. Výchozí hodnota je prázdný řetězec. |
No |
komprese | Skupina vlastností pro konfiguraci komprese souborů Tuto část nakonfigurujte, když chcete během provádění aktivity provést kompresi nebo dekompresi. | No |
type (v části compression ) |
Komprimační kodek používaný ke čtení a zápisu souborů XML. Povolené hodnoty jsou bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy nebo lz4. Výchozí hodnota není komprimována. Všimněte si, že v současné době aktivita Copy nepodporuje "snappy" & "lz4" a mapování toku dat nepodporuje "ZipDeflate", "TarGzip" a "Tar". Všimněte si, že při dekomprimaci aktivity kopírování dekomprimujte/ soubory TarGzip/Tar a zápis do úložiště dat jímky založené na souborech, ve výchozím nastavení se soubory extrahují do složky: <path specified in dataset>/<folder named as source compressed file>/ , pomocí/preserveCompressionFileNameAsFolder preserveZipFileNameAsFolder zdroje aktivity kopírování můžete řídit, zda chcete zachovat název komprimovaných souborů jako strukturu složek. |
Ne. |
úroveň (v části compression ) |
Poměr komprese. Povolené hodnoty jsou optimální nebo nejrychlejší. - Nejrychlejší: Operace komprese by se měla co nejrychleji dokončit, i když výsledný soubor není optimálně komprimovaný. - Optimální: Operace komprese by měla být optimálně komprimována, i když dokončení operace trvá delší dobu. Další informace naleznete v tématu Úroveň komprese. |
No |
Níže je příklad datové sady XML ve službě 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"
}
}
}
}
Vlastnosti aktivity kopírování
Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem XML.
Přečtěte si, jak mapovat data XML a úložiště dat jímky nebo formát z mapování schématu. Při zobrazení náhledu souborů XML se data zobrazují s hierarchií JSON a pomocí cesty JSON můžete odkazovat na pole.
XML jako zdroj
Následující vlastnosti jsou podporovány v části aktivity kopírování *source* . Přečtěte si další informace o chování konektoru XML.
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu zdroje aktivity kopírování musí být nastavena na XmlSource. | Ano |
formatSettings | Skupina vlastností. Přečtěte si níže v tabulce nastavení pro čtení XML. | No |
storeSettings | Skupina vlastností, jak číst data z úložiště dat. Každý konektor založený na souborech má vlastní podporovaná nastavení čtení v části storeSettings . Podrobnosti najdete v článku o konektoru –> aktivita Copy části vlastností. |
No |
Podporovaná nastavení čtení XML v části formatSettings
:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Typ formatSettings musí být nastaven na XmlReadSettings. | Ano |
validationMode | Určuje, zda se má ověřit schéma XML. Povolené hodnoty nejsou žádné (výchozí, bez ověření), xsd (ověření pomocí XSD), dtd (ověření pomocí DTD). |
No |
obory názvů | Zda se má povolit obor názvů při analýze souborů XML. Povolené hodnoty jsou true (výchozí), false. | No |
namespacePrefixes | Identifikátor URI oboru názvů pro mapování předpon, který se používá k pojmenování polí při analýze souboru XML. Pokud má soubor XML obor názvů a obor názvů je ve výchozím nastavení povolený, název pole je stejný jako v dokumentu XML. Pokud je v této mapě definována položka pro identifikátor URI oboru názvů, název pole je prefix:fieldName . |
No |
detectDataType | Určuje, jestli se mají zjišťovat celočíselné, dvojité a logické datové typy. Povolené hodnoty jsou true (výchozí), false. | No |
compressionProperties | Skupina vlastností, jak dekomprimovat data pro daný kodek komprese. | No |
preserveZipFileNameAsFolder (pod compressionProperties ->type as ZipDeflateReadSettings ) |
Platí, když je vstupní datová sada nakonfigurovaná pomocí komprese ZipDeflate . Určuje, zda chcete zachovat název zdrojového souboru ZIP jako strukturu složek během kopírování. - Pokud je nastavena hodnota true (výchozí), služba zapíše rozbalené soubory do <path specified in dataset>/<folder named as source zip file>/ .- Pokud je nastavena na hodnotu false, služba zapíše rozbalené soubory přímo do <path specified in dataset> . Ujistěte se, že v různých zdrojových souborech ZIP nemáte duplicitní názvy souborů, abyste se vyhnuli závodnímu nebo neočekávanému chování. |
No |
preserveCompressionFileNameAsFolder (pod compressionProperties ->type jako TarGZipReadSettings nebo TarReadSettings ) |
Platí, když je vstupní datová sada nakonfigurovaná pomocí komprese Tar Tar./ Určuje, zda se má během kopírování zachovat zdrojový komprimovaný název souboru jako struktura složek. - Při nastavení na hodnotu true (výchozí) služba zapíše dekompresované soubory do <path specified in dataset>/<folder named as source compressed file>/ . - Pokud je nastavena na hodnotu false, služba zapíše dekomprimované soubory přímo do <path specified in dataset> . Ujistěte se, že v různých zdrojových souborech nemáte duplicitní názvy souborů, abyste se vyhnuli závodnímu nebo neočekávanému chování. |
No |
Mapování vlastností toku dat
Při mapování toků dat můžete číst formát XML v následujících úložištích dat: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 a SFTP. Na soubory XML můžete odkazovat buď pomocí datové sady XML, nebo pomocí vložené datové sady.
Vlastnosti zdroje
Následující tabulka uvádí vlastnosti podporované zdrojem XML. Tyto vlastnosti můžete upravit na kartě Možnosti zdroje. Další informace najdete v chování konektoru XML. Při použití vložené datové sady se zobrazí další nastavení souborů, která jsou stejná jako vlastnosti popsané v části vlastností datové sady.
Název | Popis | Povinní účastníci | Povolené hodnoty | Vlastnost skriptu toku dat |
---|---|---|---|---|
Cesty se zástupnými kartami | Zpracují se všechny soubory odpovídající cestě se zástupným znakem. Přepíše složku a cestu k souboru nastavenou v datové sadě. | No | Řetězec[] | Zástupné cardPaths |
Kořenová cesta oddílu | Pro data souborů rozdělená do oddílů můžete zadat kořenovou cestu oddílu, abyste mohli číst dělené složky jako sloupce. | No | String | partitionRootPath |
Seznam souborů | Určuje, jestli váš zdroj ukazuje na textový soubor se seznamem souborů, které se mají zpracovat. | No | true nebo false |
fileList |
Sloupec pro uložení názvu souboru | Vytvoření nového sloupce s názvem zdrojového souboru a cestou | No | String | rowUrlColumn |
Po dokončení | Soubory po zpracování odstraňte nebo přesuňte. Cesta k souboru začíná z kořenového adresáře kontejneru. | No | Odstranit: true nebo false Pohnout: ['<from>', '<to>'] |
purgeFiles moveFiles |
Filtrovat podle poslední změny | Zvolte filtrování souborů na základě toho, kdy byly naposledy změněny. | No | Časové razítko | modifiedAfter modifiedBefore |
Režim ověřování | Určuje, zda se má ověřit schéma XML. | No | None (výchozí, bez ověření)xsd (ověření pomocí XSD)dtd (ověřte pomocí DTD). |
validationMode |
Obory názvů | Zda se má povolit obor názvů při analýze souborů XML. | No | true (výchozí) nebo false |
obory názvů |
Páry předpon oboru názvů | Identifikátor URI oboru názvů pro mapování předpon, který se používá k pojmenování polí při analýze souboru XML. Pokud má soubor XML obor názvů a obor názvů je ve výchozím nastavení povolený, název pole je stejný jako v dokumentu XML. Pokud je v této mapě definována položka pro identifikátor URI oboru názvů, název pole je prefix:fieldName . |
No | Matice se vzorem['URI1'->'prefix1','URI2'->'prefix2'] |
namespacePrefixes |
Povolit žádné nalezené soubory | Pokud je pravda, chyba se nevyvolá, pokud se nenašly žádné soubory. | ne | true nebo false |
ignoreNoFilesFound |
Příklad zdrojového skriptu XML
Následující skript je příkladem konfigurace zdroje XML při mapování toků dat pomocí režimu datové sady.
source(allowSchemaDrift: true,
validateSchema: false,
validationMode: 'xsd',
namespaces: true) ~> XMLSource
Následující skript je příkladem konfigurace zdroje XML pomocí režimu vložené datové sady.
source(allowSchemaDrift: true,
validateSchema: false,
format: 'xml',
fileSystem: 'filesystem',
folderPath: 'folder',
validationMode: 'xsd',
namespaces: true) ~> XMLSource
Chování konektoru XML
Při použití XML jako zdroje si poznamenejte následující informace.
Atributy XML:
- Atributy elementu jsou analyzovány jako dílčí pole elementu v hierarchii.
- Název pole atributu se řídí vzorem
@attributeName
.
Ověření schématu XML:
- Můžete se rozhodnout, že schéma neověříte nebo ověříte schéma pomocí XSD nebo DTD.
- Při použití XSD nebo DTD k ověření souborů XML musí být XSD/DTD odkazováno uvnitř souborů XML prostřednictvím relativní cesty.
Zpracování oboru názvů:
- Obor názvů je možné zakázat při použití toku dat. V takovém případě se atributy, které definují obor názvů, parsují jako normální atributy.
- Pokud je obor názvů povolený, názvy elementu a atributů se řídí vzorem
namespaceUri,elementName
anamespaceUri,@attributeName
ve výchozím nastavení. Můžete definovat předponu oboru názvů pro každý identifikátor URI oboru názvů ve zdroji, v takovém případě názvy elementu a atributů se řídí vzoremdefinedPrefix:elementName
nebodefinedPrefix:@attributeName
místo toho.
Sloupec hodnoty:
- Pokud má element XML jednoduchou textovou hodnotu i atributy/podřízené elementy, je jednoduchá textová hodnota analyzována jako hodnota "value column" s předdefinovaným názvem
_value_
pole . A dědí také obor názvů elementu, pokud se použije.
- Pokud má element XML jednoduchou textovou hodnotu i atributy/podřízené elementy, je jednoduchá textová hodnota analyzována jako hodnota "value column" s předdefinovaným názvem