Copy tevékenység az Azure Data Factory és a Azure Synapse Analyticsben
A KÖVETKEZŐKRE VONATKOZIK:
Azure Data Factory Azure Synapse Analytics
A Azure Data Factory- és Synapse-folyamatokban a Copy tevékenység használatával másolhat 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égekkel tovább átalakíthatja és elemezheti azokat. A 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álhatja.
A Copy tevékenység egy integrációs modulon lesz végrehajtva. Különböző típusú integrációs modulokat 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 a helyszínen vagy hozzáférés-vezérléssel rendelkező hálózaton (például egy Azure-beli virtuális hálózatban) található adattárakba másol adatokat, be kell állítania egy saját üzemeltetésű integrációs modult.
Minden forrás- és fogadóadattárhoz integrációs modult kell társítani. További információ arról, hogy a Copy tevékenység hogyan határozza meg a használandó integrációs modult: Annak meghatározása, hogy melyik integrációs modult kell használni.
Ha adatokat szeretne másolni egy forrásból egy fogadóba, a Copy tevékenység futtató szolgáltatás az alábbi lépéseket hajtja végre:
- Adatokat olvas be egy forrásadattárból.
- Szerializálást/deszerializálást, tömörítést/dekompressziót, oszlopleképezést stb. végez. 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él adattárba.
Támogatott adattárak és formátumok
Megjegyzé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
Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokért tekintse meg az egyes cikkeket.
- Avro formátum
- Bináris formátum
- Tagolt szövegformátum
- Excel formátum
- 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ötti fájlmásolásra használhatja, amely esetben az adatok hatékony másolása szerializálás vagy deszerializálás nélkül történik. Emellett egy adott formátumú fájlokat is elemezhet vagy hozhat létre, például a következőket hajthatja végre:
- Adatokat másolhat egy SQL Server adatbázisból, és parquet formátumban írhat Azure Data Lake Storage Gen2.
- Másolja a szöveges (CSV) formátumú fájlokat 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, menet közben kibonthatja őket, és kicsomagolt fájlokat írhat a Azure Data Lake Storage Gen2.
- Gzip tömörített szöveg (CSV) formátumú adatokat másolhat az Azure Blob Storage-ból, és Azure SQL Database írhatja.
- Még sok más 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ának helyein 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 Termékek régiónként című témakörben ellenőrizheti a Data Factory, a Synapse-munkaterületek és az adatáthelyezés elérhetőségét egy adott régióban.
Konfiguráció
A Copy tevékenység folyamattal való végrehajtásához az alábbi eszközök vagy SDK-k egyikét használhatja:
- 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 Azure Data Factory vagy 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ókért és a támogatott tulajdonságokért tekintse meg a forrás- és fogadó-összekötő cikkeinek "Adathalmaz tulajdonságai" című szakaszát.
- 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 a következő értékre van állítva:Copy |
Yes |
| Bemenetek | Adja meg a létrehozott adatkészletet, amely a forrásadatokra mutat. A Copy tevékenység csak egyetlen bemenetet támogat. | Yes |
| Kimenetek | Adja meg a létrehozott adatkészletet, amely a fogadó adataira mutat. A Copy tevékenység csak egyetlen kimenetet támogat. | Yes |
| typeProperties | Adja meg a Copy tevékenység konfigurálásához használt tulajdonságokat. | Yes |
| source | 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ót a támogatott adattárakban és -formátumokban található összekötő-cikk "Copy tevékenység tulajdonságok" című szakaszában talál. |
Yes |
| Mosogató | 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ót a támogatott adattárakban és -formátumokban található összekötő-cikk "Copy tevékenység tulajdonságok" című szakaszában talál. |
Yes |
| Fordító | Adjon meg explicit oszlopleképezéseket a forrástól a fogadóig. 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. |
No |
| 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ós egységek. |
No |
| párhuzamos példányok | 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. |
No |
| Megőrzése | 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. |
No |
| enableStaging stagingSettings |
Adja meg, hogy a köztes adatokat a Blob Storage-ban szeretné-e szakaszolni ahelyett, hogy közvetlenül másolt adatokat a forrásból a fogadóba. A hasznos forgatókönyvekkel és konfigurációs részletekkel kapcsolatos információkért lásd a szakaszos másolatot. |
No |
| enableSkipIncompatibleRow redirectIncompatibleRowSettings |
Adja meg, hogyan kezelje a nem kompatibilis sorokat, amikor adatokat másol a forrásból a fogadóba. További információ: Hibatűrés. |
No |
Figyelés
A Azure Data Factory és a Synapse-folyamatokban futtatott Copy tevékenység vizuálisan és programozottan is monitorozhatja. Részletekért lásd: Másolási tevékenység figyelése.
Növekményes másolás
A Data Factory- és Synapse-folyamatok lehetővé teszik a különbözeti adatok növekményes másolását egy forrásadattárból egy fogadó adattárba. 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 megjeleníti az egyes tevékenységfuttatások másolási teljesítménystatisztikáit. A Copy tevékenység teljesítmény- és méretezhetőségi útmutató azokat a fő 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 a legutóbbi sikertelen futtatásból
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 adatok Amazon S3-ból Azure Data Lake Storage Gen2-be történő áttelepítéséhez. A következő fájlalapú összekötőkre vonatkozik: Amazon S3, Amazon S3 Compatible StorageAzure 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: A másolási tevékenység újrapróbálkozásainak számát beállíthatja. Ha a folyamat végrehajtása során a másolási tevékenység futtatása sikertelen, a következő automatikus újrapróbálkozás a legutóbbi próbaverzió meghibásodási pontjától indul el.
Újrafuttatva a sikertelen tevékenységből: A folyamat végrehajtása után újrafuttathatja a sikertelen tevékenységet az ADF felhasználói felület figyelési nézetében vagy programozott módon. Ha a sikertelen tevékenység másolási tevékenység, 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:
- A folytatás 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 újramá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.
- Az Amazon S3, az Azure Blob, a Azure Data Lake Storage Gen2 és a Google Cloud Storage adatainak másolásakor 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, jelenleg a másolási tevékenység korlátozott számú fájlból támogatja a folytatást, általában több tízezernél, és a fájlelérési utak hosszától függően változik; az ezen a számon túli fájlok újra lesznek másolva 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.
Metaadatok és adatok megőrzése
Az adatok forrásból fogadóba történő másolása során a data lake-migráláshoz hasonló esetekben a metaadatok és az ACL-ek, valamint az adatok másolási tevékenységgel való megőrzése mellett is dönthet. A részletekért lásd: Metaadatok megőrzése .
Séma- és adattípus-leképezés
A séma- és adattípus-megfeleltetésről további információt talál 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 adatokon kívül további adatoszlopok hozzáadását is konfigurálhatja a fogadóba való másoláshoz. Például:
- Fájlalapú forrásból történő másoláskor a relatív fájl elérési útját tárolja további oszlopként, hogy nyomon követhesse, melyik fájlból származnak az adatok.
- Duplikálja a megadott forrásoszlopot egy másik oszlopként.
- Adjon hozzá egy ADF-kifejezést tartalmazó oszlopot ADF-rendszerváltozók, például folyamatnév/folyamatazonosító csatolásához, vagy a felsőbb rétegbeli tevékenység kimenetéből származó egyéb dinamikus érték tárolásához.
- Adjon hozzá egy statikus értékkel rendelkező oszlopot, hogy megfeleljen az alsóbb rétegbeli felhasználás igényeinek.
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ő |
|---|---|---|
| additionalColumns | Adjon hozzá további adatoszlopokat a fogadóba való másoláshoz. A tömb alatt lévő additionalColumns minden objektum egy további oszlopot jelöl. Ez name határozza meg az oszlop nevét, és az value oszlop adatértékét jelzi.Az engedélyezett adatértékek a következők: - $$FILEPATH - egy 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 mutat. Alkalmazás fájlalapú forrásra.- $$COLUMN:<source_column_name> - a fenntartott változó mintája azt jelzi, hogy a megadott forrásoszlop egy másik oszlopként duplikálva van- Kifejezés - Statikus érték |
No |
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>"
}
}
}
]
Fogadótáblák automatikus létrehozása
Amikor adatokat másol SQL adatbázisba/Azure Synapse Analyticsbe, ha a céltábla nem létezik, a másolási tevékenység támogatja az automatikus létrehozást a forrásadatok alapján. Célja, hogy segítsen gyorsan megkezdeni az adatok betöltését és SQL adatbázis/Azure Synapse Analytics kiértékelését. Az adatbetöltés után áttekintheti és módosíthatja a fogadótábla sémáját az igényeinek megfelelően.
Ez a funkció akkor támogatott, ha adatokat másol bármely forrásból a következő fogadóadattárakba. Ezt a lehetőséget az ADF szerzői felhasználói felületén –>Copy tevékenység fogadó –Tábla lehetőség –>>Táblázat automatikus létrehozása lehetőségnél, vagy a másolási tevékenység fogadójának hasznos adataiban található tulajdonságon keresztül tableOption találja meg.
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, hogy az adatok ne csak a forrásból a céltárolóba legyenek átmásolva, hanem a forrás és a céltároló közötti konzisztenciát is igazolják. Miután az adatáthelyezés során inkonzisztens fájlokat talált, 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 az inkonzisztens 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 .
Munkamenet-napló
Naplózhatja a másolt fájlneveket, így a másolási tevékenység munkamenetnaplóinak áttekintésével gondoskodhat arról, hogy az adatok ne csak a forrásból a céltárba legyenek átmásolva, hanem konzisztensek is legyenek a forrás- és a céltároló között. A részletekért tekintse meg a munkamenet-napló másolási tevékenységét .
Következő lépések
Tekintse meg az alábbi rövid útmutatókat, oktatóanyagokat és példákat: