Common Data Model formátum az Azure Data Factoryben és a Synapse Analyticsben
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!
A Common Data Model (CDM) metaadat-rendszere lehetővé teszi az adatok és jelentésük egyszerű megosztását alkalmazások és üzleti folyamatok között. További információkért tekintse meg a Common Data Model áttekintését.
Az Azure Data Factoryben és a Synapse-folyamatokban a felhasználók átalakíthatják a CDM-entitásokból származó adatokat az Azure Data Lake Store Gen2 (ADLS Gen2) szolgáltatásban tárolt model.json és jegyzék formájában is, leképezési adatfolyamok használatával. CDM formátumú adatokat cdM-entitáshivatkozások használatával is elnyelhet, amelyek CSV vagy Parquet formátumban, particionált mappákban fogják elhelyezni az adatokat.
Adatfolyam-tulajdonságok leképezése
A Common Data Model beágyazott adathalmazként érhető el az adatfolyamok forrásként és fogadóként való leképezésében is.
Feljegyzés
CDM-entitások írásakor egy már definiált CDM-entitásdefinícióval (metaadatséma) kell rendelkeznie, amely hivatkozásként használható. Az adatfolyam-fogadó felolvassa ezt a CDM-entitásfájlt, és importálja a sémát a fogadóba a mezőleképezéshez.
Forrástulajdonságok
Az alábbi táblázat a CDM-forrás által támogatott tulajdonságokat sorolja fel. Ezeket a tulajdonságokat a Forrás beállításai lapon szerkesztheti.
Név | Leírás | Kötelező | Megengedett értékek | Adatfolyam-szkript tulajdonság |
---|---|---|---|---|
Formátum | A formátumnak cdm |
igen | cdm |
format |
Metaadatok formátuma | Ahol az adatokra mutató entitáshivatkozás található. Ha a CDM 1.0-s verzióját használja, válassza a jegyzékfájlt. Ha 1.0 előtti CDM-verziót használ, válassza a model.json. | Igen | 'manifest' vagy 'model' |
manifestType |
Gyökérhely: tároló | A CDM-mappa tárolóneve | igen | Sztring | fileSystem |
Gyökérhely: mappa elérési útja | A CDM mappa gyökérmappájának helye | igen | Sztring | folderPath |
Jegyzékfájl: Entitás elérési útja | Az entitás elérési útja a gyökérmappában | nem | Sztring | entityPath |
Jegyzékfájl: Jegyzékfájl neve | A jegyzékfájl neve. Az alapértelmezett érték az "alapértelmezett" | Nem | Sztring | manifestName |
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 |
Sémaalapú szolgáltatás | Az a társított szolgáltatás, amelyben a korpusz található | igen, ha jegyzékfájlt használ | 'adlsgen2' vagy 'github' |
corpusStore |
Entitás referenciatárolója | A tároló korpusza benne van | Igen, ha jegyzékfájlt és korpuszt használ az ADLS Gen2-ben | Sztring | adlsgen2_fileSystem |
Entitáshivatkozási adattár | GitHub-adattár neve | Igen, ha jegyzékfájlt és korpuszt használ a GitHubon | Sztring | github_repository |
Entitáshivatkozási ág | GitHub-adattárág | Igen, ha jegyzékfájlt és korpuszt használ a GitHubon | Sztring | github_branch |
Corpus mappa | a korpusz gyökérhelye | igen, ha jegyzékfájlt használ | Sztring | corpusPath |
Corpus entitás | Entitáshivatkozás elérési útja | igen | Sztring | entitás |
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 |
Ha az "Entitáshivatkozás" lehetőséget választja a Forrás- és fogadóátalakításokban is, az entitáshivatkozás helyének három lehetősége közül választhat:
- A helyi a szolgáltatás által már használt jegyzékfájlban definiált entitást használja
- A Custom arra kéri, hogy mutasson egy entitásjegyzékfájlra, amely eltér a szolgáltatás által használt jegyzékfájltól
- A Standard a CDM-entitások standard kódtárából származó entitáshivatkozást fog használni.
GitHub
Fogadó beállításai
- Mutasson arra a CDM-entitás-referenciafájlra, amely tartalmazza az írni kívánt entitás definícióját.
- Adja meg az entitások írásához használni kívánt kimeneti fájlok partíciós elérési útját és formátumát.
- Adja meg a kimeneti fájl helyét, valamint a jegyzékfájl helyét és nevét.
Séma importálása
A CDM csak beágyazott adatkészletként érhető el, és alapértelmezés szerint nem rendelkezik társított sémával. Az oszlop metaadatainak lekéréséhez kattintson a Séma importálása gombra a Vetítés lapon. Így hivatkozhat a korpusz által megadott oszlopnevekre és adattípusokra. A séma importálásához az adatfolyam-hibakeresési munkamenetnek aktívnak kell lennie, és rendelkeznie kell egy meglévő CDM-entitásdefiníciós fájllal, amelyre mutatnia kell.
Amikor az adatfolyam-oszlopokat entitástulajdonságokra megfeleli a Fogadó transzformációban, kattintson a "Leképezés" fülre, és válassza a "Séma importálása" lehetőséget. A szolgáltatás felolvassa a Fogadó beállításai között hivatkozott entitáshivatkozást, amely lehetővé teszi a cél CDM-sémára való leképezést.
Feljegyzés
Ha model.json Power BI- vagy Power Platform-adatfolyamokból származó forrástípust használ, a forrásátalakítás során "a korpusz elérési útja null értékű vagy üres" hibaüzenet jelenhet meg. Ez valószínűleg a model.json fájl partícióhelyének elérési útjának formázási problémáinak köszönhető. A probléma megoldásához kövesse az alábbi lépéseket:
- A model.json fájl megnyitása szövegszerkesztőben
- Keresse meg a partíciókat. Hely tulajdonság
- A "blob.core.windows.net" módosítása "dfs.core.windows.net" értékre
- Javítsa ki a(z) "/" URL-cím "%2F" kódolását
- ADF-Adatfolyam használata esetén a partíciófájl elérési útjának speciális karaktereit alfa-numerikus értékekre kell cserélni, vagy az Azure Synapse Adatfolyam
PÉLDA CDM-forrás adatfolyam-szkriptre
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
Fogadó tulajdonságai
Az alábbi táblázat a CDM-fogadó által támogatott tulajdonságokat sorolja fel. Ezeket a tulajdonságokat a Beállítások lapon szerkesztheti.
Név | Leírás | Kötelező | Megengedett értékek | Adatfolyam-szkript tulajdonság |
---|---|---|---|---|
Formátum | A formátumnak cdm |
igen | cdm |
format |
Gyökérhely: tároló | A CDM-mappa tárolóneve | igen | Sztring | fileSystem |
Gyökérhely: mappa elérési útja | A CDM mappa gyökérmappájának helye | igen | Sztring | folderPath |
Jegyzékfájl: Entitás elérési útja | Az entitás elérési útja a gyökérmappában | nem | Sztring | entityPath |
Jegyzékfájl: Jegyzékfájl neve | A jegyzékfájl neve. Az alapértelmezett érték az "alapértelmezett" | Nem | Sztring | manifestName |
Sémaalapú szolgáltatás | Az a társított szolgáltatás, amelyben a korpusz található | igen | 'adlsgen2' vagy 'github' |
corpusStore |
Entitás referenciatárolója | A tároló korpusza benne van | Igen, ha korpusz az ADLS Gen2-ben | Sztring | adlsgen2_fileSystem |
Entitáshivatkozási adattár | GitHub-adattár neve | Igen, ha korpusz a GitHubon | Sztring | github_repository |
Entitáshivatkozási ág | GitHub-adattárág | Igen, ha korpusz a GitHubon | Sztring | github_branch |
Corpus mappa | a korpusz gyökérhelye | igen | Sztring | corpusPath |
Corpus entitás | Entitáshivatkozás elérési útja | igen | Sztring | entitás |
Partíció elérési útja | A partíció írási helye | nem | Sztring | partitionPath |
A mappa törlése | Ha a célmappa írás előtt törlődik | nem | true vagy false |
megcsonkít |
Formátum típusa | A parquet formátum megadása | nem | parquet ha meg van adva |
segédűrlap |
Oszlopelválasztó | Ha a DelimitedTextbe ír, hogyan kell elválasztani az oszlopokat | Igen, ha a DelimitedTextbe ír | Sztring | columnDelimiter |
Első sor fejlécként | Ha DelimitedText parancsot használ, akkor az oszlopnevek fejlécként lesznek-e hozzáadva | nem | true vagy false |
columnNamesAsHeader |
CDM-fogadó adatfolyam-szkriptje – példa
A társított adatfolyam-szkript a következő:
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
Kapcsolódó tartalom
Forrásátalakítás létrehozása a leképezési adatfolyamban.