Munkamenetnapló egy Copy tevékenység
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 másolt fájlneveket naplózhatja egy Copy tevékenység. Ez segít biztosítani, hogy az adatok ne csak a forrásból a célhelyre másoljanak sikeresen, hanem a forrás és a cél közötti konzisztencia ellenőrzésében is.
Ha engedélyezi a hibatűrési beállítást egy Copy tevékenység a hibás adatok kihagyásához, a kihagyott fájlok és a kihagyott sorok is naplózhatók. A másolási tevékenység hibatűréséről további részleteket is megtudhat.
Mivel lehetősége van az Azure Data Factory (ADF) Copy tevékenység által másolt összes fájlnév lekérésére a munkamenetnapló engedélyezésével, az alábbi esetekben lesz hasznos:
- Miután az ADF másolási tevékenységeivel átmásolta a fájlokat az egyik tárolóból a másikba, váratlan fájlokat talál a céltárolóban. A Copy tevékenység munkamenetnaplókban ellenőrizheti, hogy melyik tevékenység másolta ténylegesen a fájlokat, és mikor. Ezzel a módszerrel könnyen megtalálhatja a kiváltó okot, és kijavíthatja a konfigurációkat az ADF-ben.
- Miután az ADF másolási tevékenységeivel átmásolta a fájlokat az egyik tárolóból a másikba, a célhelyre másolt fájlok nem a forrástárból várhatók. A Copy tevékenység munkamenetnaplókban megtekintheti a másolási feladatok időbélyegét, valamint a fájlok metaadatait, amikor az ADF másolási tevékenységei olvassák őket a forrástárból. Ezzel a módszerrel ellenőrizheti, hogy a fájlokat más alkalmazások frissítették-e a forrástárban az ADF másolása után.
Konfiguráció az Azure Data Factory Studióval
A Copy tevékenység naplózás konfigurálásához először adjon hozzá egy Copy tevékenység a folyamathoz, majd a Gépház lapon konfigurálja a naplózást és a különböző naplózási beállításokat.
A napló későbbi figyeléséhez ellenőrizheti a folyamatfuttatás kimenetét az ADF Studio Monitorozás lapján, a folyamatfuttatások alatt. Itt válassza ki a figyelni kívánt folyamatfuttatást, majd vigye az egérmutatót a Tevékenység neve melletti területre, ahol ikonok találhatók a folyamat bemenetét, kimenetét (ha elkészült) és egyéb részleteket mutató hivatkozásokra.
A kimeneti ikonra kattintva megtekintheti a feladat naplózásának részleteit, és jegyezze fel a naplózás helyét a kijelölt tárfiókban, ahol az összes naplózott tevékenység részleteit láthatja.
A napló kimeneti formátumának részleteit alább találja.
Konfiguráció jSON-nal
Az alábbi példa egy JSON-definíciót biztosít a munkamenetnapló másolási tevékenységben való engedélyezéséhez:
{
"name": "CopyActivityLog",
"type": "Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureDataLakeStoreReadSettings",
"recursive": true
},
"formatSettings": {
"type": "BinaryReadSettings"
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureBlobFSWriteSettings"
}
},
"skipErrorFile": {
"fileForbidden": true,
"dataInconsistency": true
},
"validateDataConsistency": 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 |
---|---|---|---|
enableCopyActivityLog | Ha igaz értékre állítja, lehetősége lesz naplózni a másolt fájlokat, kihagyott fájlokat vagy kihagyott sorokat. | Igaz False (alapértelmezett) |
Nem |
Loglevel | Az "Információ" naplózza az összes másolt fájlt, kihagyott fájlt és kihagyott sort. A "Figyelmeztetés" csak a kihagyott fájlokat és a kihagyott sorokat naplózza. | Információ Figyelmeztetés (alapértelmezett) |
Nem |
enableReliableLogging | Ha ez igaz, a megbízható módban lévő Copy tevékenység azonnal kiüríti a naplókat, miután az egyes fájlokat a célhelyre másolja. Ha a Copy tevékenység engedélyezve van a megbízható naplózási móddal rendelkező fájlok másolása, az átviteli sebességre kell számítania, mivel minden másolt fájl esetében kettős írási műveletekre van szükség. Az egyik kérés a céltárolóba, egy másik pedig a naplótárolóba kerül. A Copy tevékenység a legjobb munkamennyiségű módban a naplók egy adott időszakon belül rekordköteggel lesznek kiürítve, és a másolási átviteli sebesség sokkal kevésbé lesz hatással. Ebben a módban a naplózás teljessége és idővonala nem garantált, mivel van néhány lehetőség arra, hogy a naplóesemények utolsó kötegét nem öblítették ki a naplófájlba, amikor egy Copy tevékenység sikertelen volt. Ebben a forgatókönyvben néhány, a célhelyre másolt fájl nem lesz naplózva. | Igaz False (alapértelmezett) |
Nem |
logLocation Gépház | A munkamenetnaplók tárolásának helyének megadására használható 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 |
Figyelés
Kimenet egy Copy tevékenység
A másolási tevékenység teljes futtatása után az egyes Copy tevékenység futtatások kimenetéből láthatja a naplófájlok elérési útját. A naplófájlok az elérési útról találhatók: https://[your-blob-account].blob.core.windows.net/[logFilePath]/copyactivity-logs/[copy-activity-name]/[copy-activity-run-id]/[auto-generated-GUID].txt
. A létrehozott naplófájlok .txt kiterjesztéssel rendelkeznek, és az adataik CSV formátumban vannak.
"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"
}
}
Megjegyzés:
enableCopyActivityLog
A tulajdonság beállításakor Enabled
a rendszer létrehozza a naplófájlok nevét.
A naplófájl sémája
Az alábbi táblázat egy naplófájl sémáját mutatja be.
Column | Leírás |
---|---|
Timestamp | Az időbélyeg, amikor az ADF beolvassa, írja vagy kihagyja az objektumot. |
Szint | Az elem naplószintje. Lehet "Figyelmeztetés" vagy "Információ". |
OperationName | Az ADF Copy tevékenység az egyes objektumok működési viselkedését. Lehet "FileRead", "FileWrite", "FileSkip" vagy "TabularRowSkip". |
OperationItem | A fájlnevek vagy kihagyott sorok. |
Üzenet | További információ annak megjelenítéséhez, hogy a fájl beolvasva lett-e a forrástárból, vagy a céltárolóba lett-e írva. A fájl vagy sorok kihagyása is lehetséges. |
Íme egy példa egy naplófájlra:
Timestamp, Level, OperationName, OperationItem, Message
2020-10-19 08:39:13.6688152,Info,FileRead,"sample1.csv","Start to read file: {""Path"":""sample1.csv"",""ItemType"":""File"",""Size"":104857620,""LastModified"":""2020-10-19T08:22:31Z"",""ETag"":""\""0x8D874081F80C01A\"""",""ContentMD5"":""dGKVP8BVIy6AoTtKnt+aYQ=="",""ObjectName"":null}"
2020-10-19 08:39: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=,'."
2020-10-19 08:40:13.6688152,Info,FileRead,"sample2.csv","Start to read file: {""Path"":""sample2.csv"",""ItemType"":""File"",""Size"":104857620,""LastModified"":""2020-10-19T08:22:31Z"",""ETag"":""\""0x8D874081F80C01A\"""",""ContentMD5"":""dGKVP8BVIy6AoTtKnt+aYQ=="",""ObjectName"":null}"
2020-10-19 08:40:13.9003981,Info,FileWrite,"sample2.csv","Start to write file from source file: sample2.csv."
2020-10-19 08:45:17.6508407,Info,FileRead,"sample2.csv","Complete reading file successfully. "
2020-10-19 08:45:28.7390083,Info,FileWrite,"sample2.csv","Complete writing file from source file: sample2.csv. File is successfully copied."
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 okairól további információt kaphat, mert más alkalmazások módosították, amikor az ADF Copy tevékenység egyidejűleg másol. Azt is láthatja, hogy a sample2.csv sikeresen át lett másolva a forrásból a céltárolóba.
A naplófájlok további elemzéséhez több elemzőmotort is használhat. Az alábbiakban néhány példa található arra, hogy sql-lekérdezéssel elemezze a naplófájlt a csv-naplófájl sql-adatbázisba való importálásával, ahol a tábla neve SessionLogDemo lehet.
- Adja meg a másolt fájllistát.
select OperationItem from SessionLogDemo where Message like '%File is successfully copied%'
- Adja meg az adott időtartományba másolt fájllistát.
select OperationItem from SessionLogDemo where TIMESTAMP >= '<start time>' and TIMESTAMP <= '<end time>' and Message like '%File is successfully copied%'
- Adjon meg egy adott fájlt a másolt idővel és metaadatokkal.
select * from SessionLogDemo where OperationItem='<file name>'
- Adjon meg egy listát a fájlokról, és a metaadataikat egy időtartományba másolták.
select * from SessionLogDemo where OperationName='FileRead' and Message like 'Start to read%' and OperationItem in (select OperationItem from SessionLogDemo where TIMESTAMP >= '<start time>' and TIMESTAMP <= '<end time>' and Message like '%File is successfully copied%')
- Adja meg a kihagyott fájllistát.
select OperationItem from SessionLogDemo where OperationName='FileSkip'
- Adja meg az okot, amiért egy adott fájl kimaradt.
select TIMESTAMP, OperationItem, Message from SessionLogDemo where OperationName='FileSkip'
- Adja meg a kihagyott fájlok listáját ugyanaz miatt: "a blobfájl nem létezik".
select TIMESTAMP, OperationItem, Message from SessionLogDemo where OperationName='FileSkip' and Message like '%UserErrorSourceBlobNotExist%'
- Adja meg azokat a fájlneveket, amelyek másolásához a leghosszabb idő szükséges.
select top 1 OperationItem, CopyDuration=DATEDIFF(SECOND, min(TIMESTAMP), max(TIMESTAMP)) from SessionLogDemo group by OperationItem order by CopyDuration desc
Kapcsolódó tartalom
Lásd a másolási tevékenységről szóló további cikkeket: