Adatkonzisztencia-ellenőrzés másolási tevékenységben

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

Amikor adatokat mozgat a forrástárból a céltárba, a másolási tevékenység lehetővé teszi további adatkonzisztencia-ellenőrzéssel, hogy az adatok ne csak a forrástárból a céltárba legyenek másolhatók, hanem a forrás- és a céltár között is konzisztensnek kell lenniük. Ha inkonzisztens fájlokat talált az adatátmozgatás során, megszakíthatja a másolási tevékenységet, vagy folytathatja a másolást a hibatűrési beállítás engedélyezésével, hogy kihagyja az inkonzisztens fájlokat. A kihagyott fájlneveket a másolási tevékenység munkamenetnapló-beállításának engedélyezésével kaphatja meg. További részletekért tekintse meg a munkamenet-napló másolási tevékenységét.

Támogatott adattárak és forgatókönyvek

  • Az adatkonzisztencia-ellenőrzést az összes összekötő támogatja az FTP, az sFTP és a HTTP kivételével.
  • Az adatkonzisztencia-ellenőrzés az átmeneti másolási forgatókönyvben nem támogatott.
  • Bináris fájlok másolása esetén az adatkonzisztencia-ellenőrzés csak akkor érhető el, ha a "PreserveHierarchy" viselkedés be van állítva a másolási tevékenységben.
  • Ha több bináris fájlt másol egy másolási tevékenységben, és engedélyezve van az adatkonzisztencia-ellenőrzés, lehetősége van megszakítani a másolási tevékenységet, vagy folytatni a másolást a hibatűrési beállítás engedélyezésével, hogy kihagyja az inkonzisztens fájlokat.
  • Ha egy táblát másol egy másolási tevékenységben, és engedélyezve van az adatkonzisztencia-ellenőrzés, a másolási tevékenység meghiúsul, ha a forrásból beolvasott sorok száma eltér a célhelyre 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:

"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 (Adatkonzisztencia érvényesítése) Ha a tulajdonsághoz true (igaz) érték van beállítva, 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őumokat a forrás- és céltárba másolt bináris fájlokhoz, hogy biztosítsa a forrás- és céltároló közötti adatkonzisztenciát. Táblázatos adatok másolása esetén a másolási tevékenység a feladat befejezése után ellenőrzi a sorok teljes számát, és ellenőrzi, hogy a forrásból beolvasott sorok teljes száma megegyezik-e a célhelyre másolt sorok számmal és a kihagyott nem kompatibilis sorok számével. Vegye figyelembe, hogy a másolási teljesítményre ez a beállítás hatással lesz. Igaz
False (alapértelmezett)
No
dataInconsistency (adatinkonzisztencia) A skipErrorFile tulajdonságos csomag egyik kulcs-érték párja annak meghatározásához, hogy ki szeretné-e hagyni az inkonzisztens fájlokat.
-True: a többit inkonzisztens fájlok kihagyása után szeretné átmásolni.
- Hamis: ha inkonzisztens fájlt talál, meg szeretné megszakítani a másolási tevékenységet.
Vegye figyelembe, hogy ez a tulajdonság csak akkor érvényes, ha bináris fájlokat másol, és a validateDataConsistency tulajdonságot True (Igaz) értékként adja meg.
Igaz
False (alapértelmezett)
No
logSettings Tulajdonságok csoportja, amelyek megszabadhatóak, hogy a munkamenetnapló naplózhatja a kihagyott fájlokat. No
linkedServiceName Az Azure Blob Storage Azure Data Lake Storage Gen2 linked service szolgáltatása a munkamenet-naplófájlok tárolására. Egy vagy típusú csatolt szolgáltatás neve, amely a naplófájlok tárolására használt AzureBlobStorageAzureBlobFS példányra vonatkozik. No
path A naplófájlok elérési útja. Adja meg a naplófájlok tárolására 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. No

Megjegyzés

  • Amikor bináris fájlokat másol az Azure Blobból vagy az Azure Data Lake Storage Gen2-be, a szolgáltatás letiltja az MD5-ellenőrzőmátum-ellenőrzést az Azure Blob API és az Azure Data Lake Storage Gen2 API használatával. Ha a ContentMD5 adatforrásként az Azure Blobban vagy az Azure Data Lake Storage Gen2-ben található fájlokon, a szolgáltatás a fájlok olvasása után is MD5-ellenőrzőmátum-ellenőrzést végez. Miután a fájlokat az Azure Blobba vagy az Azure Data Lake Storage Gen2-be másolta adatcélként, a szolgáltatás a ContentMD5-öt az Azure Blobba vagy az Azure Data Lake Storage Gen2-be írja, amelyet az lefelé irányuló alkalmazások tovább használhatnak az adatkonzisztencia-ellenőrzéshez.
  • A szolgáltatás a fájlok méretének ellenőrzését a bináris fájlok tárolók közötti másolása során teszi meg.

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ében 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ág" alatt láthatja.

A VerificationResult értéke:

  • Ellenőrzött:A másolt adatok ellenőrizve vannak, hogy konzisztensek-e a forrás- és a céltár között.
  • Értesítés:A másolt adatok nem konzisztensek, 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 konzisztensek, mert az adatkonzisztencia-ellenőrzés ebben az adott másoláspárban nem támogatott.

Inkonzisztens adatok értéke:

  • Található: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. Ez lehet azért, mert az adatok konzisztensek a forrás- és a céltár között, vagy mert letiltotta a validateDataConsistency adatokat a másolási tevékenységben.

A másolási tevékenység munkamenetnaplója

Ha az inkonzisztens fájl naplózását konfigurálja, a naplófájl a következő 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 lesznek.

A naplófájlok sémája a következő:

Oszlop Leírás
Időbélyeg Az időbélyegző, amikor a szolgáltatás kihagyja az inkonzisztens fájlokat.
Level Az elem naplószintje. Ez "Figyelmeztetés" szinten lesz a fájlugrásokat megjelenítő elemhez.
OperationName A másolási tevékenység működési viselkedése az egyes fájlokon. A kihagyni kívánt fájl megadásához a FileSkip lesz a következő: .
OperationItem (Művelet) A kihagyni kívánt fájlnév.
Üzenet További információ a fájlok kihagyásának okának szemléltetésére.

A naplófájlok példái a következők:

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ájlban láthatja, hogy sample1.csv ki lett hagyva, mert nem sikerült ellenőrizni, hogy konzisztens-e a forrás- és a céltár között. További részleteket kaphat arról, hogy sample1.csv az inkonzisztenssé válik, mert más alkalmazások módosították, amikor a másolási tevékenység egyidejűleg van átmásolva.

Következő lépések

Tekintse meg a másolási tevékenységgel kapcsolatos további cikkeket: