Formát Common Data Model ve službě 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.
Systém metadat CDM (Common Data Model) umožňuje snadno sdílet data a jeho význam napříč aplikacemi a obchodními procesy. Další informace najdete v přehledu modelu Common Data Model .
V kanálech Azure Data Factory a Synapse můžou uživatelé transformovat data z entit CDM v podobě model.json i manifestu uloženém v Azure Data Lake Store Gen2 (ADLS Gen2) pomocí mapování toků dat. Data ve formátu CDM můžete také potopit pomocí odkazů na entity CDM, které přidají vaše data ve formátu CSV nebo Parquet v dělených složkách.
Mapování vlastností toku dat
Common Data Model je k dispozici jako vložená datová sada při mapování toků dat jako zdroj i jímka.
Poznámka:
Při psaní entit CDM musíte mít již definovanou existující definici entity CDM (schéma metadat), která se má použít jako odkaz. Jímka toku dat přečte soubor entity CDM a naimportuje schéma do jímky pro mapování polí.
Vlastnosti zdroje
Následující tabulka uvádí vlastnosti podporované zdrojem CDM. Tyto vlastnosti můžete upravit na kartě Možnosti zdroje.
Název | Popis | Povinní účastníci | Povolené hodnoty | Vlastnost skriptu toku dat |
---|---|---|---|---|
Formát | Formát musí být cdm |
ano | cdm |
format |
Formát metadat | Kde se nachází odkaz na entitu na data. Pokud používáte CDM verze 1.0, zvolte manifest. Pokud používáte verzi CDM před verzí 1.0, zvolte model.json. | Ano | 'manifest' nebo 'model' |
manifestType |
Kořenové umístění: kontejner | Název kontejneru složky CDM | ano | String | fileSystem |
Kořenové umístění: cesta ke složce | Umístění kořenové složky složky CDM | ano | String | folderPath |
Soubor manifestu: Cesta k entitě | Cesta ke složce entity v kořenové složce | ne | String | entityPath |
Soubor manifestu: Název manifestu | Název souboru manifestu. Výchozí hodnota je výchozí. | No | String | manifestName |
Filtrovat podle poslední změny | Zvolte filtrování souborů na základě toho, kdy byly naposledy změněny. | ne | Časové razítko | modifiedAfter modifiedBefore |
Propojená služba schématu | Propojená služba, kde se nachází korpus | Ano, pokud používáte manifest | 'adlsgen2' nebo 'github' |
corpusStore |
Kontejner odkazů na entity | Korpus kontejneru je v | Ano, pokud používáte manifest a korpus v ADLS Gen2. | String | adlsgen2_fileSystem |
Referenční úložiště entit | Název úložiště GitHub | Ano, pokud používáte manifest a korpus v GitHubu | String | github_repository |
Referenční větev entity | Větev úložiště GitHub | Ano, pokud používáte manifest a korpus v GitHubu | String | github_branch |
Složka Korpusu | kořenové umístění korpusu | Ano, pokud používáte manifest | String | corpusPath |
Entita korpusu | Cesta k odkazu na entitu | ano | String | entity |
Povolit žádné nalezené soubory | Pokud je pravda, chyba se nevyvolá, pokud se nenašly žádné soubory. | ne | true nebo false |
ignoreNoFilesFound |
Při výběru odkazu na entitu v transformacích Zdroj i Jímka můžete vybrat z těchto tří možností pro umístění odkazu na entitu:
- Místní používá entitu definovanou v souboru manifestu, který už služba používá.
- Vlastní vás vyzve k odkazování na soubor manifestu entity, který se liší od souboru manifestu, který služba používá.
- Standard bude používat odkaz na entitu ze standardní knihovny entit CDM udržovaných v
GitHub
.
Nastavení jímky
- Nasměrujte na referenční soubor entity CDM, který obsahuje definici entity, kterou chcete napsat.
- Definujte cestu k oddílu a formát výstupních souborů, které má služba používat k zápisu entit.
- Nastavte umístění výstupního souboru a umístění a název souboru manifestu.
Import schématu
CDM je k dispozici pouze jako vložená datová sada a ve výchozím nastavení nemá přidružené schéma. Pokud chcete získat metadata sloupců, klikněte na tlačítko Importovat schéma na kartě Projekce . To vám umožní odkazovat na názvy sloupců a datové typy určené korpusem. K importu schématu musí být aktivní ladicí relace toku dat a musíte mít existující definiční soubor entity CDM, na který má odkazovat.
Při mapování sloupců toku dat na vlastnosti entity v transformaci jímky klikněte na kartu Mapování a vyberte Importovat schéma. Služba přečte odkaz na entitu, na kterou jste odkazovali v možnostech jímky, což vám umožní namapovat na cílové schéma CDM.
Poznámka:
Při použití model.json zdrojového typu, který pochází z toků dat Power BI nebo Power Platform, může dojít k chybám "cesta k souboru je null nebo prázdná" z transformace zdroje. Důvodem je pravděpodobně problémy s formátováním cesty k umístění oddílu v souboru model.json. Pokud chcete tento problém vyřešit, postupujte takto:
- Otevření souboru model.json v textovém editoru
- Najděte oddíly. Location – vlastnost
- Změňte blob.core.windows.net na dfs.core.windows.net.
- Oprava jakéhokoli kódování %2F v adrese URL na /
- Pokud používáte Tok dat ADF, musí být speciální znaky v cestě k souboru oddílu nahrazeny alfanumerické hodnoty nebo přepnout na azure Synapse Tok dat s.
Příklad skriptu toku dat zdroje CDM
source(output(
ProductSizeId as integer,
ProductColor as integer,
CustomerId as string,
Note as string,
LastModifiedDate as timestamp
),
allowSchemaDrift: true,
validateSchema: false,
entity: 'Product.cdm.json/Product',
format: 'cdm',
manifestType: 'manifest',
manifestName: 'ProductManifest',
entityPath: 'Product',
corpusPath: 'Products',
corpusStore: 'adlsgen2',
adlsgen2_fileSystem: 'models',
folderPath: 'ProductData',
fileSystem: 'data') ~> CDMSource
Vlastnosti jímky
Následující tabulka uvádí vlastnosti podporované jímkou CDM. Tyto vlastnosti můžete upravit na kartě Nastavení .
Název | Popis | Povinní účastníci | Povolené hodnoty | Vlastnost skriptu toku dat |
---|---|---|---|---|
Formát | Formát musí být cdm |
ano | cdm |
format |
Kořenové umístění: kontejner | Název kontejneru složky CDM | ano | String | fileSystem |
Kořenové umístění: cesta ke složce | Umístění kořenové složky složky CDM | ano | String | folderPath |
Soubor manifestu: Cesta k entitě | Cesta ke složce entity v kořenové složce | ne | String | entityPath |
Soubor manifestu: Název manifestu | Název souboru manifestu. Výchozí hodnota je výchozí. | No | String | manifestName |
Propojená služba schématu | Propojená služba, kde se nachází korpus | ano | 'adlsgen2' nebo 'github' |
corpusStore |
Kontejner odkazů na entity | Korpus kontejneru je v | Jo, pokud korpus v ADLS Gen2 | String | adlsgen2_fileSystem |
Referenční úložiště entit | Název úložiště GitHub | Jo, pokud korpus v GitHubu | String | github_repository |
Referenční větev entity | Větev úložiště GitHub | Jo, pokud korpus v GitHubu | String | github_branch |
Složka Korpusu | kořenové umístění korpusu | ano | String | corpusPath |
Entita korpusu | Cesta k odkazu na entitu | ano | String | entity |
Cesta k oddílu | Umístění, kam se oddíl zapíše | ne | String | partitionPath |
Vymazání složky | Pokud je cílová složka před zápisem vymazána. | ne | true nebo false |
truncate |
Typ formátu | Volba pro určení formátu parquet | ne | parquet pokud je zadáno |
podformulář |
Oddělovač sloupců | Pokud píšete do oddělovače Textu, jak oddělovat sloupce | Ano, pokud zápis do oddělovače | String | columnDelimiter |
První řádek jako záhlaví | Pokud používáte oddělovač, zda se názvy sloupců přidají jako záhlaví. | ne | true nebo false |
columnNamesAsHeader |
Příklad skriptu toku dat jímky CDM
Přidružený skript toku dat je:
CDMSource sink(allowSchemaDrift: true,
validateSchema: false,
entity: 'Product.cdm.json/Product',
format: 'cdm',
entityPath: 'ProductSize',
manifestName: 'ProductSizeManifest',
corpusPath: 'Products',
partitionPath: 'adf',
folderPath: 'ProductSizeData',
fileSystem: 'cdm',
subformat: 'parquet',
corpusStore: 'adlsgen2',
adlsgen2_fileSystem: 'models',
truncate: true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> CDMSink
Související obsah
Vytvoření transformace zdroje při mapování toku dat