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/"
        }
    }
} 
Property Leírás Megengedett értékek Szükséges
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
napló Gépház 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

Megjegyzé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ő:

Column Leírás
Timestamp Az időbélyeg, amikor a szolgáltatás kihagyja az inkonzisztens fájlokat.
Szint 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, hogy a 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 okait részletesebben is megismerheti, mert más alkalmazások módosították, amikor a másolási tevékenység egyidejűleg történik.

Lásd a másolási tevékenységről szóló további cikkeket: