Copy tevékenység az Azure Data Factoryben és az Azure 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!
Az Azure Data Factoryben és a Synapse-folyamatokban a Copy tevékenység használatával másolhatja az adatokat a helyszínen és a felhőben található adattárak között. Az adatok másolása után más tevékenységeket is használhat az adatok további átalakítására és elemzésére. Az Copy tevékenység az üzleti intelligencia (BI) és az alkalmazáshasználat átalakítási és elemzési eredményeinek közzétételére is használható.
A Copy tevékenység integrációs futtatókörnyezetben lesz végrehajtva. Különböző típusú integrációs futtatókörnyezeteket használhat különböző adatmásolási forgatókönyvekhez:
- Amikor adatokat másol két olyan adattár között, amelyek bármely IP-címről nyilvánosan elérhetők az interneten keresztül, az Azure integrációs modulját használhatja a másolási tevékenységhez. Ez az integrációs modul biztonságos, megbízható, méretezhető és globálisan elérhető.
- Amikor olyan adattárakba másol adatokat, amelyek helyszíni vagy hozzáférés-vezérléssel rendelkező hálózaton (például Azure-beli virtuális hálózaton) találhatók, be kell állítania egy saját üzemeltetésű integrációs modult.
Minden forrás- és fogadóadattárhoz integrációs futtatókörnyezetet kell társítani. A Copy tevékenység által használandó integrációs modul meghatározásáról további információt a használandó integrációs modul meghatározása című témakörben talál.
Feljegyzés
Ugyanazon Copy tevékenység belül nem használhat egynél több saját üzemeltetésű integrációs modult. A tevékenység forrásának és fogadójának ugyanahhoz a saját üzemeltetésű integrációs modulhoz kell csatlakoznia.
Ha adatokat szeretne másolni egy forrásból egy fogadóba, a Copy tevékenység futtató szolgáltatás végrehajtja az alábbi lépéseket:
- Adatokat olvas be egy forrásadattárból.
- Szerializálást/deszerializálást, tömörítést/dekompressziót, oszlopleképezést és így tovább. Ezeket a műveleteket a bemeneti adatkészlet, a kimeneti adatkészlet és a Copy tevékenység konfigurációja alapján hajtja végre.
- Adatokat ír a fogadó-/céladattárba.
Feljegyzés
Ha egy saját üzemeltetésű integrációs modult használ egy forrás- vagy fogadóadattárban egy Copy tevékenység belül, akkor a forrásnak és a fogadónak is elérhetőnek kell lennie az integrációs modult üzemeltető kiszolgálóról a Copy tevékenység sikerességéhez.
Támogatott adattárak és formátumok
Feljegyzés
Az előzetes verzió jelzéssel ellátott összekötőket kipróbálhatja, és visszajelzést küldhet róluk. Ha függőséget szeretne felvenni a megoldásában található előzetes verziójú összekötőkre, lépjen kapcsolatba az Azure-támogatással.
Támogatott fájlformátumok
Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.
- Avro formátum
- Bináris formátum
- Tagolt szövegformátum
- Excel-formátum
- Iceberg formátum (csak az Azure Data Lake Storage Gen2 esetén)
- JSON formátum
- ORC formátum
- Parquet formátum
- XML-formátum
A Copy tevékenység két fájlalapú adattár között másolhatja a fájlokat, ebben az esetben az adatok hatékonyan másolhatók szerializálás vagy deszerializálás nélkül. Emellett egy adott formátumú fájlokat is elemezhet vagy hozhat létre, például a következőket hajthatja végre:
- Adatok másolása SQL Server-adatbázisból, és írás az Azure Data Lake Storage Gen2-be Parquet formátumban.
- Másolja a fájlokat szöveges (CSV) formátumban egy helyszíni fájlrendszerből, és írjon az Azure Blob Storage-ba Avro formátumban.
- Tömörített fájlokat másolhat egy helyszíni fájlrendszerből, kicsomagolhatja őket menet közben, és kicsomagolt fájlokat írhat az Azure Data Lake Storage Gen2-be.
- Másolja az adatokat Gzip tömörített szöveg (CSV) formátumban az Azure Blob Storage-ból, és írja be azOkat az Azure SQL Database-be.
- Még sok olyan tevékenység, amely szerializálást/deszerializálást vagy tömörítést/dekompressziót igényel.
Támogatott régiók
A Copy tevékenység engedélyező szolgáltatás globálisan elérhető az Azure integrációs moduljában felsorolt régiókban és földrajzi helyeken. A globálisan elérhető topológia hatékony adatáthelyezést biztosít, amely általában elkerüli a régiók közötti ugrásokat. A Data Factory, a Synapse-munkaterületek és az adatáthelyezés elérhetőségének ellenőrzéséhez tekintse meg a Termékek régiónként című témakört.
Konfiguráció
A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager-sablon
A Copy tevékenység az Azure Data Factoryben vagy a Synapse-folyamatokban való használatához általában a következőkre van szükség:
- Társított szolgáltatások létrehozása a forrásadattárhoz és a fogadó adattárhoz. A támogatott összekötők listáját a jelen cikk Támogatott adattárak és formátumok szakaszában találja. A konfigurációs információkért és a támogatott tulajdonságokért tekintse meg az összekötő cikk "Társított szolgáltatás tulajdonságai" szakaszát.
- Hozzon létre adatkészleteket a forráshoz és a fogadóhoz. A konfigurációs információkról és a támogatott tulajdonságokról a forrás- és fogadó-összekötő cikkeinek "Adathalmaz tulajdonságai" szakaszában olvashat.
- Hozzon létre egy folyamatot a Copy tevékenység. A következő szakasz egy példát mutat be.
Syntax
A Copy tevékenység alábbi sablonja a támogatott tulajdonságok teljes listáját tartalmazza. Adja meg a forgatókönyvnek megfelelőket.
"activities":[
{
"name": "CopyActivityTemplate",
"type": "Copy",
"inputs": [
{
"referenceName": "<source dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<sink dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>",
<properties>
},
"sink": {
"type": "<sink type>"
<properties>
},
"translator":
{
"type": "TabularTranslator",
"columnMappings": "<column mapping>"
},
"dataIntegrationUnits": <number>,
"parallelCopies": <number>,
"enableStaging": true/false,
"stagingSettings": {
<properties>
},
"enableSkipIncompatibleRow": true/false,
"redirectIncompatibleRowSettings": {
<properties>
}
}
}
]
Szintaxis részletei
Tulajdonság | Leírás | Kötelező? |
---|---|---|
típus | Egy Copy tevékenység esetén állítsa a következőre:Copy |
Igen |
Bemenetek | Adja meg a létrehozott adathalmazt, amely a forrásadatokra mutat. A Copy tevékenység csak egyetlen bemenetet támogat. | Igen |
Kimenetek | Adja meg azt az adatkészletet, amelyet létrehozott, amely a fogadó adataira mutat. A Copy tevékenység csak egyetlen kimenetet támogat. | Igen |
typeProperties | Adja meg a Copy tevékenység konfigurálásához használt tulajdonságokat. | Igen |
forrás | Adja meg a másolási forrás típusát és az adatok beolvasásához szükséges tulajdonságokat. További információ: "Copy tevékenység tulajdonságok" szakasz a támogatott adattárakban és -formátumokban felsorolt összekötő cikkben. |
Igen |
elsüllyed | Adja meg a másolási fogadó típusát és az adatok írásához szükséges tulajdonságokat. További információ: "Copy tevékenység tulajdonságok" szakasz a támogatott adattárakban és -formátumokban felsorolt összekötő cikkben. |
Igen |
fordító | Explicit oszlopleképezések megadása forrásról fogadóra. Ez a tulajdonság akkor érvényes, ha az alapértelmezett másolási viselkedés nem felel meg az igényeinek. További információ: Sémaleképezés másolási tevékenységben. |
Nem |
dataIntegrationUnits | Adjon meg egy mértéket, amely az Azure integrációs modul által az adatmásoláshoz használt energia mennyiségét jelöli. Ezeket az egységeket korábban felhőbeli adatáthelyezési egységeknek (DMU) nevezték. További információ: adatintegráció Egységek. |
Nem |
párhuzamos másolatok | Adja meg azt a párhuzamosságot, amelyet a Copy tevékenység használni szeretne, amikor adatokat olvas a forrásból, és adatokat ír a fogadóba. További információ: Párhuzamos másolás. |
Nem |
megőriz | Adja meg, hogy meg szeretné-e őrizni a metaadatokat/ACL-eket az adatmásolás során. További információ: Metaadatok megőrzése. |
Nem |
enableStaging átmeneti beállítások |
Adja meg, hogy az ideiglenes adatokat a Blob Storage-ban szeretné-e szakaszolni ahelyett, hogy közvetlenül másolja az adatokat a forrásból a fogadóba. A hasznos forgatókönyvekről és a konfiguráció részleteiről további információt a szakaszos másolatban talál. |
Nem |
enableSkipIncompatibleRow redirectIncompatibleRowSettings |
Adja meg, hogyan kezelheti az inkompatibilis sorokat, amikor adatokat másol a forrásból a fogadóba. További információ: Hibatűrés. |
Nem |
Figyelés
Az Azure Data Factoryben és a Synapse-folyamatokban futtatott Copy tevékenység vizuálisan és programozottan is monitorozhatja. További részletekért lásd : Másolási tevékenység figyelése.
Növekményes másolás
A Data Factory és a Synapse-folyamatok lehetővé teszik a deltaadatok fokozatos másolását egy forrásadattárból egy fogadó adattárba. További részletekért lásd az oktatóanyagot: Adatok növekményes másolása.
Teljesítmény és finomhangolás
A másolási tevékenység monitorozási felülete az egyes tevékenységfuttatások másolási teljesítménystatisztikáit jeleníti meg. A Copy tevékenység teljesítmény- és méretezhetőségi útmutatója azokat a főbb tényezőket ismerteti, amelyek befolyásolják az adatáthelyezés teljesítményét a Copy tevékenység keresztül. Emellett felsorolja a tesztelés során megfigyelt teljesítményértékeket, és ismerteti a Copy tevékenység teljesítményének optimalizálását.
Folytatás az utolsó sikertelen futtatás után
Copy tevékenység támogatja a legutóbbi sikertelen futtatás utáni folytatást, ha nagy méretű fájlokat másol bináris formátumban a fájlalapú tárolók között, és úgy dönt, hogy megőrzi a mappát/fájlhierarchiát a forrástól a fogadóig, például az Amazon S3-ból az Azure Data Lake Storage Gen2-be való migrálásához. A következő fájlalapú összekötőkre vonatkozik: Amazon S3, Amazon S3 kompatibilis Storage Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, Fájlrendszer, FTP, Google Cloud Storage, HDFS, Oracle Cloud Storage és SFTP.
A másolási tevékenység folytatását az alábbi két módon használhatja:
Tevékenységszintű újrapróbálkozás: Beállíthatja a másolási tevékenység újrapróbálkozásainak számát. A folyamat végrehajtása során, ha ez a másolási tevékenység sikertelen, a következő automatikus újrapróbálkozás a legutóbbi próba hibapontjától indul el.
Sikertelen tevékenység újrafuttatása: A folyamatvégrehajtás befejezése után az ADF felhasználói felület figyelési nézetben vagy programozott módon is elindíthatja a sikertelen tevékenység újrafuttatását. Ha a sikertelen tevékenység másolási tevékenység, akkor a folyamat nem csak újrafut ebből a tevékenységből, hanem az előző futtatás hibapontjáról is folytatódik.
Néhány megjegyzés:
- Az önéletrajz fájlszinten történik. Ha a másolási tevékenység meghiúsul egy fájl másolása során, a következő futtatáskor a program újra kimásolja ezt a fájlt.
- A folytatás megfelelő működéséhez ne módosítsa a másolási tevékenység beállításait az újrafuttatások között.
- Amikor adatokat másol az Amazon S3, az Azure Blob, az Azure Data Lake Storage Gen2 és a Google Cloud Storage szolgáltatásból, a másolási tevékenység tetszőleges számú másolt fájlból folytatódhat. Míg a többi fájlalapú összekötő esetében, mint forrás, a másolási tevékenység jelenleg korlátozott számú fájlból támogatja a folytatást, általában több tízezres tartományban, és a fájl elérési útjaitól függően változik; A program újramásolja az ezen a számon túli fájlokat az újrafuttatások során.
A bináris fájlmásoláson kívül más esetekben a másolási tevékenység újrafuttatása az elejétől kezdődik.
Feljegyzés
A legutóbb sikertelen futtatásból való újraindulást a saját üzemeltetésű integrációs futtatókörnyezeten keresztül most már csak a helyi integrációs modul 5.43.8935.2-es vagy újabb verziója támogatja.
Metaadatok megőrzése az adatokkal együtt
Miközben adatokat másol a forrásból a fogadóba, a data lake-migráláshoz hasonló esetekben a metaadatok és az ACL-ek, valamint az adatok másolási tevékenységgel történő megőrzése mellett is dönthet. Részletekért lásd: Metaadatok megőrzése.
Metaadatcímkék hozzáadása fájlalapú fogadóhoz
Ha a fogadó Azure Storage-alapú (Azure Data Lake Storage vagy Azure Blob Storage), dönthetünk úgy, hogy metaadatokat adunk hozzá a fájlokhoz. Ezek a metaadatok kulcs-érték párokként jelennek meg a fájltulajdonságok részeként. A fájlalapú fogadók minden típusához hozzáadhat dinamikus tartalmakat tartalmazó metaadatokat a folyamatparaméterek, a rendszerváltozók, a függvények és a változók használatával. Emellett a bináris fájlalapú fogadó esetében lehetősége van az Utolsó módosítás dátuma (a forrásfájlból) hozzáadására a $$LASTMODIFIED kulcsszóval, valamint egyéni értékeket metaadatként a fogadófájlhoz.
Séma- és adattípus-leképezés
A séma- és adattípus-megfeleltetés című témakörben tájékozódhat arról, hogy a Copy tevékenység hogyan képezi le a forrásadatokat a fogadóba.
További oszlopok hozzáadása másolás közben
A forrásadattárból a fogadóba másolt adatok mellett további adatoszlopokat is hozzáadhat a fogadóba másoláshoz. Példa:
- Ha fájlalapú forrásból másol, a relatív fájl elérési útját további oszlopként kell tárolnia annak nyomon követéséhez, hogy melyik fájlból származnak az adatok.
- A megadott forrásoszlop duplikálása másik oszlopként.
- Adjon hozzá egy ADF-kifejezést tartalmazó oszlopot az ADF rendszerváltozóinak, például a folyamatnévnek/folyamatazonosítónak a csatolásához, vagy más dinamikus érték tárolásához a felsőbb rétegbeli tevékenység kimenetéből.
- Adjon hozzá egy statikus értékkel rendelkező oszlopot az alsóbb rétegbeli felhasználás igényeinek megfelelően.
A másolási tevékenység forráslapján az alábbi konfiguráció található. Ezeket a további oszlopokat a másolási tevékenység sémaleképezésében is megfeleltetheti a szokásos módon a megadott oszlopnevek használatával.
Tipp.
Ez a funkció a legújabb adathalmaz-modellel működik. Ha nem látja ezt a beállítást a felhasználói felületen, próbáljon meg létrehozni egy új adatkészletet.
A programozott konfiguráláshoz adja hozzá a tulajdonságot a additionalColumns
másolási tevékenység forrásához:
Tulajdonság | Leírás | Kötelező |
---|---|---|
továbbicolumnok | Adjon hozzá további adatoszlopokat a fogadóba másolandó adatokhoz. A tömb alatti additionalColumns objektumok egy további oszlopot jelölnek. Ez name határozza meg az oszlop nevét, és az value oszlop adatértékét.Az engedélyezett adatértékek a következők: - $$FILEPATH - a fenntartott változó azt jelzi, hogy a forrásfájlok relatív elérési útja az adathalmazban megadott mappa elérési útjára van tárolva. Alkalmazás fájlalapú forrásra.- $$COLUMN:<source_column_name> - egy fenntartott változóminta azt jelzi, hogy a megadott forrásoszlopot egy másik oszlopként kell duplikálni- Expression - Statikus érték |
Nem |
Példa:
"activities":[
{
"name": "CopyWithAdditionalColumns",
"type": "Copy",
"inputs": [...],
"outputs": [...],
"typeProperties": {
"source": {
"type": "<source type>",
"additionalColumns": [
{
"name": "filePath",
"value": "$$FILEPATH"
},
{
"name": "newColName",
"value": "$$COLUMN:SourceColumnA"
},
{
"name": "pipelineName",
"value": {
"value": "@pipeline().Pipeline",
"type": "Expression"
}
},
{
"name": "staticValue",
"value": "sampleValue"
}
],
...
},
"sink": {
"type": "<sink type>"
}
}
}
]
Tipp.
A további oszlopok konfigurálása után ne felejtse el leképezni őket a cél fogadóba, a Leképezés lapon.
Fogadótáblák automatikus létrehozása
Ha adatokat másol az SQL Database/Azure Synapse Analytics szolgáltatásba, ha a céltábla nem létezik, a másolási tevékenység támogatja a forrásadatok alapján történő automatikus létrehozást. Célja, hogy segítsen az adatok gyors betöltésében és az SQL Database/Azure Synapse Analytics kiértékelésében. Az adatbetöltés után az igényeinek megfelelően áttekintheti és módosíthatja a fogadótábla sémáját.
Ez a funkció akkor támogatott, ha adatokat másol bármely forrásból az alábbi fogadóadattárakba. A beállítást az ADF szerzői felhasználói felületén találja ->Copy tevékenység fogadó -Táblázat lehetőség ->>Táblázat automatikus létrehozása tábla, vagy a másolási tevékenység fogadójának hasznos adatai tulajdonságán keresztül.tableOption
Hibatűrés
Alapértelmezés szerint a Copy tevékenység leállítja az adatok másolását, és hibát ad vissza, ha a forrásadatsorok nem kompatibilisek a fogadó adatsoraival. A másolás sikerességéhez konfigurálhatja a Copy tevékenység, hogy kihagyja és naplózza a nem kompatibilis sorokat, és csak a kompatibilis adatokat másolja. Részletekért tekintse meg Copy tevékenység hibatűrést.
Adatkonzisztencia-ellenőrzés
Amikor adatokat helyez át a forrásból a céltárolóba, a másolási tevékenység lehetővé teszi további adatkonzisztencia-ellenőrzés elvégzé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 a céltároló közötti konzisztenciát is ellenőrizhesse. 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. Részletekért tekintse meg az adatkonzisztencia-ellenőrzést a másolási tevékenységben .
Munkamenetnapló
Naplózhatja a másolt fájlneveket, ami segíthet abban, hogy az adatok ne csak a forrásból a céltárba legyenek átmásolva, hanem a másolási tevékenység munkamenetnaplóinak áttekintésével konzisztensek is legyenek a forrás és a céltár között. Részletekért tekintse meg a munkamenet bejelentkezési másolási tevékenységét .
Kapcsolódó tartalom
Tekintse meg az alábbi rövid útmutatókat, oktatóanyagokat és példákat: