Sdílet prostřednictvím


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.

nastavení entity

  • Definujte cestu k oddílu a formát výstupních souborů, které má služba používat k zápisu entit.

formát entity

  • Nastavte umístění výstupního souboru a umístění a název souboru manifestu.

umístění cdm

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.

Nastavení jímky 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:

  1. Otevření souboru model.json v textovém editoru
  2. Najděte oddíly. Location – vlastnost
  3. Změňte blob.core.windows.net na dfs.core.windows.net.
  4. Oprava jakéhokoli kódování %2F v adrese URL na /
  5. 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

Vytvoření transformace zdroje při mapování toku dat