Adatkonzisztencia ellenőrzése másolási tevékenységben
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!
Amikor adatokat helyez át a forrásból a céltárolóba, a másolási tevékenység lehetővé teszi az adatok konzisztenciájának további ellenőrzését annak érdekében, hogy az adatok ne csak a forrásból a céltárolóba legyenek másolva, hanem a forrás- és céltárolók közötti konzisztensnek is tekinthetők. Miután inkonzisztens fájlokat talált az adatáthelyezés során, megszakíthatja a másolási tevékenységet, vagy folytathatja a másolást a többivel, ha engedélyezi a hibatűrési beállítást a következetlen fájlok kihagyásához. A kihagyott fájlneveket a másolási tevékenység munkamenetnapló-beállításának engedélyezésével szerezheti be. További részletekért tekintse meg a munkamenet-napló másolási tevékenységeit .
Támogatott adattárak és forgatókönyvek
- Az adatkonzisztencia-ellenőrzést az összes összekötő támogatja az FTP, az SFTP, a HTTP, a Snowflake, az Office 365 és az Azure Databricks Delta Lake kivételével.
- Az előkészítési másolási forgatókönyv nem támogatja az adatkonzisztencia-ellenőrzést.
- Bináris fájlok másolásakor az adatkonzisztencia-ellenőrzés csak akkor érhető el, ha a "PreserveHierarchy" viselkedés a másolási tevékenységben van beállítva.
- Ha több bináris fájlt másol egy másolási tevékenységben, és engedélyezve van az adatkonzisztencia ellenőrzése, lehetősége van megszakítani a másolási tevékenységet, vagy folytathatja a másolást a többivel, ha engedélyezi a hibatűrési beállítást a nem konzisztens fájlok kihagyásához.
- Ha egy táblát egyetlen másolási tevékenységben másol, és engedélyezve van az adatkonzisztencia ellenőrzése, a másolási tevékenység meghiúsul, ha a forrásból beolvasott sorok száma eltér a célba másolt sorok számától és a kihagyott nem kompatibilis sorok számától.
Konfiguráció
Az alábbi példa egy JSON-definíciót biztosít az adatkonzisztencia-ellenőrzés engedélyezéséhez a másolási tevékenységben:
{
"name":"CopyActivityDataConsistency",
"type":"Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureDataLakeStoreReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureDataLakeStoreWriteSettings"
}
},
"validateDataConsistency": true,
"skipErrorFile": {
"dataInconsistency": true
},
"logSettings": {
"enableCopyActivityLog": true,
"copyActivityLogSettings": {
"logLevel": "Warning",
"enableReliableLogging": false
},
"logLocationSettings": {
"linkedServiceName": {
"referenceName": "ADLSGen2",
"type": "LinkedServiceReference"
},
"path": "sessionlog/"
}
}
}
Tulajdonság | Leírás | Megengedett értékek | Kötelező |
---|---|---|---|
validateDataConsistency | Ha igaz értéket ad meg ehhez a tulajdonsághoz, a bináris fájlok másolása során a másolási tevékenység ellenőrzi a fájlméretet, a lastModifiedDate és az MD5 ellenőrzőösszeget a forrásból a céltárolóba másolt összes bináris fájl esetében, hogy biztosítsa a forrás- és céltároló közötti adatkonzisztenciát. Táblázatos adatok másolásakor a másolási tevékenység ellenőrzi a teljes sorszámot a feladat befejezése után, biztosítva, hogy a forrásból beolvasott sorok teljes száma megegyezik a célba másolt sorok számával, valamint a kihagyott nem kompatibilis sorok számával. Vegye figyelembe, hogy a másolási teljesítményre hatással van a beállítás engedélyezése. | Igaz False (alapértelmezett) |
Nem |
dataInconsistency | Az egyik kulcs-érték pár a skipErrorFile tulajdonságcsomagban annak megállapításához, hogy ki szeretné-e hagyni a nem konzisztens fájlokat. -Igaz: a többit az inkonzisztens fájlok kihagyásával szeretné másolni. - Hamis: megszakítja a másolási tevékenységet, miután a nem konzisztens fájl talált. Ne feledje, hogy ez a tulajdonság csak akkor érvényes, ha bináris fájlokat másol, és true értékre állítja az validateDataConsistency értéket. |
Igaz False (alapértelmezett) |
Nem |
logSettings | A munkamenetnapló kihagyott fájlok naplózásának engedélyezéséhez megadható tulajdonságok csoportja. | Nem | |
linkedServiceName | Az Azure Blob Storage vagy az Azure Data Lake Storage Gen2 társított szolgáltatása a munkamenet-naplófájlok tárolásához. | Egy társított szolgáltatás neve AzureBlobStorage vagy AzureBlobFS típusa, amely a naplófájlok tárolására használt példányra hivatkozik. |
Nem |
ösvény | A naplófájlok elérési útja. | Adja meg a naplófájlokat tárolni kívánt elérési utat. Ha nem ad meg elérési utat, a szolgáltatás létrehoz egy tárolót. | Nem |
Feljegyzés
- Bináris fájlok Azure Blobból vagy Azure Data Lake Storage Gen2-be történő másolásakor a szolgáltatás letiltja az MD5 ellenőrzőösszeg-ellenőrzést az Azure Blob API és az Azure Data Lake Storage Gen2 API használatával. Ha adatforrásként az Azure Blobban vagy az Azure Data Lake Storage Gen2-ben található fájlokon található ContentMD5, akkor a szolgáltatás a fájlok elolvasása után is elvégzi az MD5 ellenőrzőösszeg-ellenőrzést. Miután fájlokat másolt az Azure Blobba vagy az Azure Data Lake Storage Gen2-be adatcélként, a szolgáltatás a ContentMD5-et az Azure Blobba vagy az Azure Data Lake Storage Gen2-be írja, amelyet tovább használhatnak az alsóbb rétegbeli alkalmazások az adatkonzisztencia-ellenőrzéshez.
- A szolgáltatás fájlméret-ellenőrzést végez a bináris fájlok bármely tároló közötti másolásakor.
Figyelés
Másolási tevékenység kimenete
A másolási tevékenység teljes futtatása után az egyes másolási tevékenységek kimenetéből láthatja az adatkonzisztencia-ellenőrzés eredményét:
"output": {
"dataRead": 695,
"dataWritten": 186,
"filesRead": 3,
"filesWritten": 1,
"filesSkipped": 2,
"throughput": 297,
"logFilePath": "myfolder/a84bf8d4-233f-4216-8cb5-45962831cd1b/",
"dataConsistencyVerification":
{
"VerificationResult": "Verified",
"InconsistentData": "Skipped"
}
}
Az adatkonzisztencia-ellenőrzés részleteit a "dataConsistencyVerification tulajdonságból" tekintheti meg.
Az VerificationResult értéke:
- Igazolt: A másolt adatok konzisztensek a forrás- és céltároló között.
- NotVerified: A másolt adatok nem lettek ellenőrizve, hogy konzisztensek legyenek, mert nem engedélyezte a validateDataConsistency beállítást a másolási tevékenységben.
- Nem támogatott: A másolt adatok nem lettek konzisztensek, mert az adott másolási pár esetében az adatkonzisztencia-ellenőrzés nem támogatott.
Az Inkonzisztens adatok értéke:
- Talált: A másolási tevékenység inkonzisztens adatokat talált.
- Kihagyva: A másolási tevékenység inkonzisztens adatokat talált és kihagyott.
- Nincs: A másolási tevékenység nem talált inkonzisztens adatokat. Ennek lehet az oka, hogy az adatok konzisztensek a forrás- és a céltároló között, vagy azért, mert letiltotta az ValidateDataConsistency hitelesítését a másolási tevékenységben.
Munkamenetnapló másolási tevékenységből
Ha konfigurálja az inkonzisztens fájl naplózását, a naplófájl az alábbi elérési úton található: https://[your-blob-account].blob.core.windows.net/[path-if-configured]/copyactivity-logs/[copy-activity-name]/[copy-activity-run-id]/[auto-generated-GUID].csv
. A naplófájlok a csv-fájlok.
A naplófájl sémája a következő:
Oszlop | Leírás |
---|---|
Időbélyegző | Az időbélyeg, amikor a szolgáltatás kihagyja az inkonzisztens fájlokat. |
Level | Az elem naplószintje. A fájl kihagyását megjelenítő elem "Figyelmeztetés" szintjén van. |
OperationName | A másolási tevékenység működési viselkedése az egyes fájlokon. A "FileSkip" a kihagyandó fájl megadása. |
OperationItem | A kihagyandó fájlnév. |
Üzenet | További információ a kihagyott fájlok okáról. |
Egy naplófájl például a következő:
Timestamp, Level, OperationName, OperationItem, Message
2020-02-26 06:22:56.3190846, Warning, FileSkip, "sample1.csv", "File is skipped after read 548000000 bytes: ErrorCode=DataConsistencySourceDataChanged,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Source file 'sample1.csv' is changed by other clients during the copy activity run.,Source=,'."
A fenti naplófájlból láthatja, sample1.csv ki lett hagyva, mert nem sikerült ellenőrizni, hogy konzisztens-e a forrás- és a céltároló között. A sample1.csv inkonzisztenssé válásának okairól további információt kaphat, mert más alkalmazások módosították, amikor a másolási tevékenység egyidejűleg történik.
Kapcsolódó tartalom
Lásd a másolási tevékenységről szóló további cikkeket: