aktiviteten Kopiera i Azure Data Factory och Azure Synapse Analytics
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
I Azure Data Factory- och Synapse-pipelines kan du använda aktiviteten Kopiera för att kopiera data mellan datalager som finns lokalt och i molnet. När du har kopierat data kan du använda andra aktiviteter för att ytterligare transformera och analysera dem. Du kan också använda aktiviteten Kopiera för att publicera transformerings- och analysresultat för business intelligence (BI) och programförbrukning.
Den aktiviteten Kopiera körs på en Integration Runtime. Du kan använda olika typer av integreringskörningar för olika datakopieringsscenarier:
- När du kopierar data mellan två datalager som är offentligt tillgängliga via Internet från valfri IP-adress kan du använda Azure Integration Runtime för kopieringsaktiviteten. Den här Integreringskörningen är säker, tillförlitlig, skalbar och globalt tillgänglig.
- När du kopierar data till och från datalager som finns lokalt eller i ett nätverk med åtkomstkontroll (till exempel ett virtuellt Azure-nätverk) måste du konfigurera en integrationskörning med egen värd.
En Integreringskörning måste associeras med varje källa och mottagare för datalagret. Information om hur aktiviteten Kopiera avgör vilken Integration Runtime som ska användas finns i Avgöra vilken IRsom ska användas.
Om du vill kopiera data från en källa till en mottagare utför tjänsten som kör aktiviteten Kopiera följande steg:
- Läser data från ett källdatalager.
- Utför serialisering/deserialisering, komprimering/dekomprimering, kolumnmappning och så vidare. Den utför dessa åtgärder baserat på konfigurationen av indatauppsättningen, utdatauppsättningen och aktiviteten Kopiera.
- Skriver data till mottagar-/måldatalagret.
Datalager och format som stöds
Anteckning
Om en anslutningsapp är märkt med förhandsversion kan du testa den och sedan ge feedback till oss. Om du vill skapa ett beroende på anslutningsappar som är i förhandsversion i din lösning kontaktar du Azure-supporten.
Filformat som stöds
Azure Data Factory har stöd för följande filformat. I varje artikel finns formatbaserade inställningar.
- Avro-format
- Binärt format
- Avgränsat textformat
- Excel-format
- JSON-format
- ORC-format
- Parquet-format
- XML-format
Du kan använda aktiviteten Kopiera för att kopiera filer som de är mellan två filbaserade datalager, i vilket fall data kopieras effektivt utan serialisering eller deserialisering. Dessutom kan du också parsa eller generera filer i ett visst format, till exempel kan du utföra följande:
- Kopiera data från en SQL Server databas och skriv till Azure Data Lake Storage Gen2 i Parquet-format.
- Kopiera filer i textformat (CSV) från ett lokalt filsystem och skriv till Azure Blob Storage i Avro-format.
- Kopiera komprimerade filer från ett lokalt filsystem, dekomprimera dem direkt och skriv extraherade filer till Azure Data Lake Storage Gen2.
- Kopiera data i Gzip-format med komprimerad text (CSV) från Azure Blob Storage och skriv dem till Azure SQL Database.
- Många fler aktiviteter som kräver serialisering/deserialisering eller komprimering/dekomprimering.
Regioner som stöds
Den tjänst som aktiverar aktiviteten Kopiera är tillgänglig globalt i de regioner och geografiska områden som anges i Azure Integration Runtime-platser. Den globalt tillgängliga topologin säkerställer effektiv dataförflyttning som vanligtvis undviker hopp mellan regioner. Se Produkter efter region för att kontrollera tillgängligheten för Data Factory, Synapse-arbetsytor och dataförflyttning i en viss region.
Konfiguration
Om du vill aktiviteten Kopiera med en pipeline kan du använda något av följande verktyg eller SDK:er:
- Verktyget Kopiera data verktyg
- Azure-portalen
- .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:t.
- Mallen Azure Resource Manager
Om du vill använda aktiviteten Kopiera i Azure Data Factory Synapse-pipelines måste du:
- Skapa länkade tjänster för källdatalagret och mottagarens datalager. Du hittar listan över anslutningsappar som stöds i avsnittet Datalager och format som stöds i den här artikeln. Konfigurationsinformation och egenskaper som stöds finns i artikeln om anslutningsappens "Egenskaper för länkad tjänst".
- Skapa datauppsättningar för källan och mottagaren. Konfigurationsinformation och egenskaper som stöds finns i avsnitten "Egenskaper för datamängd" i artiklarna om anslutningsappen för källa och mottagare.
- Skapa en pipeline med aktiviteten Kopiera. Nästa avsnitt innehåller ett exempel.
Syntax
Följande mall för en aktiviteten Kopiera innehåller en fullständig lista över egenskaper som stöds. Ange de som passar ditt scenario.
"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>
}
}
}
]
Syntaxinformation
| Egenskap | Beskrivning | Obligatoriskt? |
|---|---|---|
| typ | För en aktiviteten Kopiera anger du till Copy |
Yes |
| Ingångar | Ange den datauppsättning som du skapade som pekar på källdata. Den aktiviteten Kopiera stöder endast en enda indata. | Yes |
| Utgångar | Ange den datauppsättning som du skapade som pekar på mottagarens data. Den aktiviteten Kopiera stöder endast en enda utdata. | Yes |
| typeProperties | Ange egenskaper för att konfigurera aktiviteten Kopiera. | Yes |
| källa | Ange typen av kopieringskälla och motsvarande egenskaper för att hämta data. Mer information finns i avsnittet "aktiviteten Kopiera egenskaper" i anslutningsartikeln som anges i Datalager och format som stöds. |
Yes |
| Diskbänken | Ange typ av kopierings mottagare och motsvarande egenskaper för att skriva data. Mer information finns i avsnittet "aktiviteten Kopiera egenskaper" i anslutningsartikeln som anges i Datalager och format som stöds. |
Yes |
| translator | Ange explicita kolumnmappningar från källa till mottagare. Den här egenskapen gäller när standardbeteendet för kopiering inte uppfyller dina behov. Mer information finns i Schemamappning i kopieringsaktiviteten. |
No |
| dataIntegrationUnits | Ange ett mått som representerar mängden kraft som Azure Integration Runtime använder för datakopiering. Dessa enheter kallades tidigare för DMU (Cloud Data Movement Units). Mer information finns i Dataintegreringsenheter. |
No |
| parallelCopies | Ange parallellitet som du vill att aktiviteten Kopiera ska använda när du läser data från källan och skriver data till mottagaren. Mer information finns i Parallellkopiering. |
No |
| Bevara | Ange om metadata/ACL:er ska bevaras under datakopiering. Mer information finns i Bevara metadata. |
No |
| enableStaging stagingSettings |
Ange om du vill mellanlagringsdata i Blob Storage i stället för att kopiera data direkt från källa till mottagare. Information om användbara scenarier och konfigurationsinformation finns i Mellandelade kopior. |
No |
| enableSkipIncompatibleRow redirectIncompatibleRowSettings |
Välj hur du vill hantera inkompatibla rader när du kopierar data från källa till mottagare. Mer information finns i Feltolerans. |
No |
Övervakning
Du kan övervaka aktiviteten Kopiera körs i Azure Data Factory Synapse-pipelines både visuellt och programmässigt. Mer information finns i Övervaka kopieringsaktivitet.
Inkrementell kopiering
Data Factory och Synapse-pipelines kan du stegvis kopiera deltadata från ett källdatalager till ett datalager för mottagare. Mer information finns i Självstudie: Kopiera data stegvis.
Prestanda- och justering
Övervakningsupplevelsen för kopieringsaktiviteten visar kopieringsprestandastatistiken för varje aktivitetskörning. Guiden aktiviteten Kopiera prestanda och skalbarhet beskriver viktiga faktorer som påverkar prestanda för dataförflyttning via aktiviteten Kopiera. Den visar även de prestandavärden som observerats under testningen och beskriver hur du optimerar prestanda för aktiviteten Kopiera.
Återuppta från den senaste misslyckade körningen
aktiviteten Kopiera har stöd för att återuppta från den senaste misslyckade körningen när du kopierar stora filer som de är med binärt format mellan filbaserade arkiv och väljer att bevara mapp-/filhierarkin från källa till mottagare, t.ex. för att migrera data från Amazon S3 till Azure Data Lake Storage Gen2. Det gäller för följande filbaserade anslutningsappar: Amazon S3, Amazon S3 Compatible Storage Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, Oracle Cloud Storage och SFTP.
Du kan använda kopieringsaktivitetens cv på följande två sätt:
Försök igen på aktivitetsnivå: Du kan ange antal återförsök för kopieringsaktivitet. Om kopieringsaktiviteten misslyckas under pipelinekörningen startar nästa automatiska återförsök från den senaste utvärderingsversionens felpunkt.
Kör om från misslyckad aktivitet: När pipelinekörningen är klar kan du även utlösa en omkörning från den misslyckade aktiviteten i övervakningsvyn för ADF-användargränssnittet eller programmatiskt. Om den misslyckade aktiviteten är en kopieringsaktivitet körs pipelinen inte bara om från den här aktiviteten, utan återupptas även från den tidigare körningens felpunkt.
Några saker att notera:
- Återuppta sker på filnivå. Om kopieringsaktiviteten misslyckas när du kopierar en fil kommer den specifika filen att kopieras på nytt i nästa körning.
- För att återuppta ska fungera korrekt ändrar du inte inställningarna för kopieringsaktiviteten mellan omkörningarna.
- När du kopierar data från Amazon S3, Azure Blob, Azure Data Lake Storage Gen2 och Google Cloud Storage kan kopieringsaktiviteten återupptas från godtyckligt antal kopierade filer. Medan resten av filbaserade anslutningsappar som källa har kopieringsaktiviteten stöd för att återuppta från ett begränsat antal filer, vanligtvis i tiotals tusen och varierar beroende på filsökvägarnas längd. filer utöver det här numret kopieras igen under omkörningar.
För andra scenarier än binär filkopiering startar omkörningen av kopieringsaktiviteten från början.
Bevara metadata tillsammans med data
När du kopierar data från källa till mottagare kan du i scenarier som datasjömigrering även välja att bevara metadata och ACL:er tillsammans med data med hjälp av kopieringsaktivitet. Mer information finns i Bevara metadata.
Schema- och datatypsmappning
Se Schema- och datatypsmappning för information om hur aktiviteten Kopiera mappar dina källdata till mottagaren.
Lägg till ytterligare kolumner under kopieringen
Förutom att kopiera data från källdatalagret till mottagaren kan du även konfigurera att lägga till ytterligare datakolumner att kopiera vidare till mottagaren. Exempel:
- När du kopierar från en filbaserad källa lagrar du den relativa sökvägen som ytterligare en kolumn att spåra från vilken fil data kommer från.
- Duplicera den angivna källkolumnen som en annan kolumn.
- Lägg till en kolumn med ADF-uttryck för att koppla ADF-systemvariabler som pipelinenamn/pipeline-ID eller lagra andra dynamiska värden från uppströmsaktivitetens utdata.
- Lägg till en kolumn med statiskt värde för att uppfylla behovet av nedströmsförbrukning.
Du hittar följande konfiguration på fliken för kopieringsaktivitetskälla. Du kan också mappa dessa ytterligare kolumner i schemamappningen för kopieringsaktivitet som vanligt med hjälp av dina definierade kolumnnamn.
Tips
Den här funktionen fungerar med den senaste datauppsättningsmodellen. Om du inte ser det här alternativet från användargränssnittet kan du prova att skapa en ny datauppsättning.
Om du vill konfigurera den programmässigt lägger du till additionalColumns egenskapen i din kopieringsaktivitetskälla:
| Egenskap | Beskrivning | Krävs |
|---|---|---|
| additionalColumns | Lägg till ytterligare datakolumner som ska kopieras till mottagaren. Varje objekt under additionalColumns matrisen representerar en extra kolumn. definierar name kolumnnamnet och value anger datavärdet för kolumnen.Tillåtna datavärden är: - $$FILEPATH – en reserverad variabel anger att källfilerna ska lagras i den relativa sökvägen till den mappsökväg som anges i datauppsättningen. Gäller för filbaserad källa.- $$COLUMN:<source_column_name> – ett mönster för reserverad variabel indikerar att den angivna källkolumnen dupliceras som en annan kolumn- Uttryck - Statiskt värde |
No |
Exempel:
"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>"
}
}
}
]
Skapa tabeller för mottagare automatiskt
När du kopierar data SQL databas/Azure Synapse Analytics, och om måltabellen inte finns, stöder kopieringsaktiviteten automatiskt skapande av den baserat på källdata. Syftet är att hjälpa dig att snabbt komma igång med att läsa in data och utvärdera SQL databas/Azure Synapse Analytics. Efter datainmatningen kan du granska och justera schemat för tabellen för mottagare efter dina behov.
Den här funktionen stöds när du kopierar data från valfri källa till följande datalager för mottagare. Du hittar alternativet i ADF-redigeringsgränssnittet –> aktiviteten Kopiera sink –> Table option –> Auto create table, eller via egenskapen i nyttolasten för kopieringsaktivitetens tableOption mottagare.
Feltolerans
Som standard slutar aktiviteten Kopiera kopiera data och returnerar ett fel när källdatarader inte är kompatibla med mottagarens datarader. För att kopieringen ska lyckas kan du konfigurera aktiviteten Kopiera att hoppa över och logga de inkompatibla raderna och endast kopiera kompatibla data. Mer aktiviteten Kopiera finns i aktiviteten Kopiera feltolerans.
Verifiering av datakonsekvens
När du flyttar data från källa till målarkiv ger kopieringsaktiviteten ett alternativ för att göra ytterligare datakonsekvensverifiering för att säkerställa att data inte bara kopieras från källa till mållager, utan även verifieras för att vara konsekventa mellan käll- och mållagret. När inkonsekventa filer har hittats under dataförflyttningen kan du antingen avbryta kopieringsaktiviteten eller fortsätta att kopiera resten genom att aktivera feltoleransinställningen för att hoppa över inkonsekventa filer. Du kan hämta de överhoppade filnamnen genom att aktivera inställningen för sessionslogg i kopieringsaktiviteten. Mer information finns i Verifiering av datakonsekvens i kopieringsaktivitet.
Sessionslogg
Du kan logga dina kopierade filnamn, vilket kan hjälpa dig att ytterligare se till att data inte bara kopieras från källa till målarkiv, utan även konsekvent mellan käll- och målarkivet genom att granska sessionsloggarna för kopieringsaktiviteten. Mer information finns i Kopieringsaktivitet för sessionslogg.
Nästa steg
Se följande snabbstarter, självstudier och exempel: